spacedriveapp / spacedrive

Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.
https://spacedrive.com
GNU Affero General Public License v3.0
29.41k stars 839 forks source link

Arch Linux: Fails to compile project due to new `ffmpeg` 6.0 #623

Closed HeavenVolkoff closed 1 year ago

HeavenVolkoff commented 1 year ago

Describe the bug

Hi,

Currently, compiling the desktop app in Arch Linux fails due to a newer version of ffmpeg being the only one available in the official repositories:

$> pacman -Qi ffmpeg
Name            : ffmpeg
Version         : 2:6.0-3
Description     : Complete solution to record, convert and stream audio and video
Architecture    : x86_64
URL             : https://ffmpeg.org/
Licenses        : GPL3
Groups          : None
Provides        : libavcodec.so=60-64  libavdevice.so=60-64  libavfilter.so=9-64  libavformat.so=60-64  libavutil.so=58-64
                  libpostproc.so=57-64  libswresample.so=4-64  libswscale.so=7-64
Depends On      : alsa-lib  aom  bzip2  fontconfig  fribidi  gmp  gnutls  gsm  jack  lame  libass.so=9-64  libavc1394
                  libbluray.so=2-64  libbs2b.so=0-64  libdav1d.so=6-64  libdrm  libfreetype.so=6-64  libgl  libiec61883  libmfx
                  libmodplug  libopenmpt.so=0-64  libpulse  librav1e.so=0-64  libraw1394  librsvg-2.so=2-64  libsoxr  libssh
                  libtheora  libva.so=2-64  libva-drm.so=2-64  libva-x11.so=2-64  libvdpau  libvidstab.so=1.1-64
                  libvorbisenc.so=2-64  libvorbis.so=0-64  libvpx.so=8-64  libvulkan.so  libwebp  libx11  libx264.so=164-64
                  libx265.so=199-64  libxcb  libxext  libxml2  libxv  libxvidcore.so=4-64  libzimg.so=2-64  ocl-icd  opencore-amr
                  openjpeg2  opus  sdl2  speex  srt  svt-av1  v4l-utils  vmaf  xz  zlib
Optional Deps   : avisynthplus: AviSynthPlus support [installed]
                  intel-media-sdk: Intel QuickSync support
                  ladspa: LADSPA filters [installed]
                  nvidia-utils: Nvidia NVDEC/NVENC support
Required By     : electron19
Optional For    : alsa-plugins  libde265  tinycompress  wine-staging  yt-dlp
Conflicts With  : None
Replaces        : None
Installed Size  : 37,05 MiB
Packager        : Christian Hesse <eworm@archlinux.org>
Build Date      : qua 08 mar 2023 11:08:36
Install Date    : sex 17 mar 2023 01:52:00
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

This is due to a rust dependency: ffmpeg-next, which seems to only work with specific versions of ffmpeg. At this time, Spacedrive desktop app is tied to ffmpeg v5.1.1: https://github.com/spacedriveapp/spacedrive/blob/2e3c708db88a8979a8cc46897796c56366eada96/core/Cargo.toml#L74

I tried to just update the version of the dependency in Cargo, and that solved the problem, as I was able to compile the desktop app. However, I decided against opening a PR with those changes, because this would probably break compiling in other distros and OSes. In my opinion, the best solution would be to implement some compile time logic to decide the version of the ffmpeg-next create according to the system's ffmpeg version. However, I am not well versed in rust, so I will leave this one to someone else (or until I learn enough rust to do it 😄)

Here is the diff of my changes for anyone using Arch that is also having this problem:

diff --git a/Cargo.lock b/Cargo.lock
index f84a45a7..5740374e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -584,9 +584,9 @@ dependencies = [

 [[package]]
 name = "bindgen"
-version = "0.59.2"
+version = "0.64.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8"
+checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
 dependencies = [
  "bitflags",
  "cexpr",
@@ -599,6 +599,7 @@ dependencies = [
  "regex",
  "rustc-hash",
  "shlex",
+ "syn",
 ]

 [[package]]
@@ -2171,9 +2172,9 @@ dependencies = [

 [[package]]
 name = "ffmpeg-next"
-version = "5.1.1"
+version = "6.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a80971eee67be0079a1c8890bde68226fe9bd0441740fd6ddd0cee131486b321"
+checksum = "8af03c47ad26832ab3aabc4cdbf210af3d3b878783edd5a7ba044ba33aab7a60"
 dependencies = [
  "bitflags",
  "ffmpeg-sys-next",
@@ -2182,9 +2183,9 @@ dependencies = [

 [[package]]
 name = "ffmpeg-sys-next"
-version = "5.1.1"
+version = "6.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d780b36e092254367e2f1f21191992735c8e23f31a5a5a8678db3a79f775021f"
+checksum = "cf650f461ccf130f4eef4927affed703cc387b183bfc4a7dfee86a076c131127"
 dependencies = [
  "bindgen",
  "cc",
@@ -4706,11 +4707,11 @@ dependencies = [

 [[package]]
 name = "num_cpus"
-version = "1.13.1"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
 dependencies = [
- "hermit-abi 0.1.19",
+ "hermit-abi 0.2.6",
  "libc",
 ]

diff --git a/core/Cargo.toml b/core/Cargo.toml
index 7c501581..c98c81e5 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -71,7 +71,7 @@ http-range = "0.1.5"
 mini-moka = "0.10.0"
 serde_with = "2.2.0"
 dashmap = { version = "5.4.0", features = ["serde"] }
-ffmpeg-next = { version = "5.1.1", optional = true, features = [] }
+ffmpeg-next = { version = "6.0.0", optional = true, features = [] }
 notify = { version = "5.0.0", default-features = false, features = [
   "macos_fsevent",
 ], optional = true }
diff --git a/crates/ffmpeg/Cargo.toml b/crates/ffmpeg/Cargo.toml
index 376e1b09..24134f26 100644
--- a/crates/ffmpeg/Cargo.toml
+++ b/crates/ffmpeg/Cargo.toml
@@ -12,7 +12,7 @@ resolver = "2"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

 [dependencies]
-ffmpeg-sys-next = "5.1.1"
+ffmpeg-sys-next = "6.0.0"

 thiserror = "1.0.37"
 webp = "0.2.2"

Reproduction

  1. Have an Arch Linux install
  2. Follow CONTRIBUTING.md until step pnpm desktop dev
  3. pnpm desktop dev fails due to create incompatibility with newer ffmpeg version

Expected behavior

pnpm desktop dev successfully executes and all dependencies are correctly complied

Platform and versions

$> pnpm --version && cargo --version && rustc --version
7.29.3
cargo 1.68.0
rustc 1.68.0 (2c8cc3432 2023-03-06) (Arch Linux rust 1:1.68.0-1)

$> uname -a
Linux arch.shadowverse 6.2.6-201.fsync.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Mar 15 04:41:53 UTC 2023 x86_64 GNU/Linux

Stack trace

$> pnpm desktop dev

> @ desktop /home/vitor/Workspace/spacedrive
> pnpm --filter @sd/desktop -- "dev"

> @sd/desktop@1.0.0 dev /home/vitor/Workspace/spacedrive/apps/desktop
> tauri dev

     Running BeforeDevCommand (`pnpm exec vite --clearScreen=false --mode development`)
                                                                                                                           16:54:37
  VITE v4.1.4  ready in 943 ms

  ➜  Local:   http://localhost:8001/                                                                                       16:54:37
  ➜  Network: use --host to expose                                                                                         16:54:37
        Info Watching /home/vitor/Workspace/spacedrive/core for changes...
        Info Watching /home/vitor/Workspace/spacedrive/crates/* for changes...
        Info Watching /home/vitor/Workspace/spacedrive/apps/cli for changes...
        Info Watching /home/vitor/Workspace/spacedrive/apps/desktop/src-tauri for changes...
        Info Watching /home/vitor/Workspace/spacedrive/apps/desktop/crates/* for changes...
        Info Watching /home/vitor/Workspace/spacedrive/apps/mobile/crates/* for changes...
        Info Watching /home/vitor/Workspace/spacedrive/apps/server for changes...
   Compiling syn v1.0.107
   Compiling cfg-expr v0.10.3
   Compiling version-compare v0.1.0
   Compiling serde_json v1.0.91
   Compiling tokio v1.26.0
   Compiling signal-hook-registry v1.4.0
   Compiling siphasher v0.3.10
   Compiling rand_pcg v0.2.1
   Compiling proc-macro-hack v0.5.19
   Compiling rand v0.8.5
   Compiling new_debug_unreachable v1.0.4
   Compiling precomputed-hash v0.1.1
   Compiling utf-8 v0.7.6
   Compiling mac v0.1.1
   Compiling rand v0.7.3
   Compiling futf v0.1.5
   Compiling phf_shared v0.8.0
   Compiling phf_shared v0.10.0
   Compiling tendril v0.4.3
   Compiling cfg-expr v0.9.1
   Compiling dtoa v0.4.8
   Compiling version-compare v0.0.11
   Compiling nodrop v0.1.14
   Compiling itoa v0.4.8
   Compiling stable_deref_trait v1.2.0
   Compiling dtoa-short v0.3.3
   Compiling convert_case v0.4.0
   Compiling servo_arc v0.1.1
   Compiling uuid v0.8.2
   Compiling phf_generator v0.10.0
   Compiling thin-slice v0.1.1
   Compiling alloc-no-stdlib v2.0.4
   Compiling byteorder v1.4.3
   Compiling string_cache_codegen v0.5.2
   Compiling same-file v1.0.6
   Compiling alloc-stdlib v0.2.2
   Compiling gio v0.15.12
   Compiling phf_generator v0.8.0
   Compiling walkdir v2.3.2
   Compiling phf_codegen v0.8.0
   Compiling brotli-decompressor v2.3.2
   Compiling fxhash v0.2.1
   Compiling semver v1.0.14
   Compiling cfb v0.6.1
   Compiling openssl-sys v0.9.76 (https://github.com/spacedriveapp/rust-openssl?rev=92c3dec225a9e984884d5b30a517e5d44a24d03b#92c3dec2)
   Compiling gtk v0.15.5
   Compiling cty v0.2.2
   Compiling selectors v0.22.0
   Compiling raw-window-handle v0.5.0
   Compiling x11 v2.20.0
   Compiling x11-dl v2.20.0
   Compiling markup5ever v0.10.1
   Compiling infer v0.7.0
   Compiling clang-sys v1.4.0
   Compiling brotli v3.3.4
   Compiling crypto-common v0.1.6
   Compiling tao v0.15.8
   Compiling libdbus-sys v0.2.2
   Compiling tower-layer v0.3.2
   Compiling openssl v0.10.42
   Compiling digest v0.10.6
   Compiling axum-core v0.3.2
   Compiling tauri-runtime v0.12.1
   Compiling wry v0.23.4
   Compiling native-tls v0.2.10
   Compiling sha2 v0.10.6
   Compiling ico v0.2.0
   Compiling axum v0.6.4
   Compiling uuid v1.2.1
   Compiling nom v7.1.1
   Compiling filetime v0.2.17
   Compiling libloading v0.7.3
   Compiling bindgen v0.59.2
   Compiling tauri-runtime-wry v0.12.2
   Compiling rfd v0.10.0
   Compiling http-range-header v0.3.0
   Compiling dbus v0.9.6
   Compiling sha1 v0.10.5
   Compiling xattr v0.2.3
   Compiling dirs-sys-next v0.1.2
   Compiling tauri v1.2.4
   Compiling cookie v0.16.1
   Compiling pathdiff v0.2.1
   Compiling sync_wrapper v0.1.1
   Compiling shlex v1.1.0
   Compiling lazycell v1.3.0
   Compiling matchit v0.7.0
   Compiling peeking_take_while v0.1.2
   Compiling open v3.0.3
   Compiling tar v0.4.38
   Compiling dirs-next v2.0.0
   Compiling backtrace v0.3.66
   Compiling os_pipe v1.1.1
   Compiling shared_child v1.0.0
   Compiling state v0.5.3
   Compiling base64 v0.20.0
   Compiling inotify-sys v0.1.5
   Compiling ffmpeg-next v5.1.1
   Compiling inotify v0.9.6
   Compiling proc-macro-error v1.0.4
   Compiling synstructure v0.12.6
   Compiling darling_core v0.13.4
   Compiling prettyplease v0.1.24
   Compiling cexpr v0.6.0
   Compiling darling_core v0.14.2
   Compiling sd-core v0.1.0 (/home/vitor/Workspace/spacedrive/core)
   Compiling notify v5.0.0
   Compiling notify-rust v4.5.10
   Compiling nix v0.25.0
   Compiling window-shadows v0.2.0
   Compiling ctrlc v3.2.3
   Compiling serde_derive v1.0.152
   Compiling thiserror-impl v1.0.39
   Compiling futures-macro v0.3.26
   Compiling tokio-macros v1.8.2
   Compiling pin-project-internal v1.0.12
   Compiling tracing-attributes v0.1.23
   Compiling serde_repr v0.1.9
   Compiling phf_macros v0.8.0
   Compiling enumflags2_derive v0.7.4
   Compiling async-trait v0.1.63
   Compiling cssparser v0.27.2
   Compiling zeroize_derive v1.3.3
   Compiling enumflags2 v0.7.5
   Compiling html5ever v0.25.2
   Compiling futures-util v0.3.26
   Compiling phf v0.8.0
   Compiling metrics-macros v0.5.1
   Compiling cssparser-macros v0.6.0
   Compiling pin-project v1.0.12
   Compiling zeroize v1.5.7
   Compiling derive_more v0.99.17
   Compiling darling_macro v0.13.4
   Compiling thiserror v1.0.39
   Compiling pest v2.4.0
   Compiling tracing v0.1.37
   Compiling phf_macros v0.10.0
   Compiling tracing-subscriber v0.3.16
   Compiling metrics v0.18.1
   Compiling pest_meta v2.4.0
   Compiling diagnostics v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling darling v0.13.4
   Compiling serde_with_macros v1.5.2
   Compiling futures-executor v0.3.26
   Compiling futures v0.3.26
   Compiling pest_generator v2.4.0
   Compiling semver-parser v0.10.2
   Compiling phf v0.10.1
   Compiling semver v0.11.0
   Compiling rustc_version v0.3.3
   Compiling ctor v0.1.23
   Compiling mobc v0.7.3 (https://github.com/prisma/mobc?tag=1.0.6#80462c48)
   Compiling prost-derive v0.11.8
   Compiling user-facing-error-macros v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling field-offset v0.3.4
   Compiling serde v1.0.152
   Compiling hyper v0.14.23
   Compiling tracing-futures v0.2.5
   Compiling pest_derive v2.4.0
   Compiling der v0.6.1
   Compiling openssl-macros v0.1.0
   Compiling data-encoding-macro-internal v0.1.10
   Compiling tower v0.4.13
   Compiling netlink-packet-utils v0.5.1
   Compiling asn1-rs-impl v0.1.0
   Compiling schema-ast v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling spki v0.6.0
   Compiling data-encoding-macro v0.1.12
   Compiling asn1-rs-derive v0.4.0
   Compiling displaydoc v0.2.3
   Compiling multibase v0.9.1
   Compiling pkcs8 v0.9.0
   Compiling netlink-packet-core v0.4.2
   Compiling tower-http v0.3.4
   Compiling tracing-error v0.2.0
   Compiling curve25519-dalek v3.2.0
   Compiling prost v0.11.8
   Compiling prost-types v0.11.8
   Compiling asn1-rs v0.5.2
   Compiling toml v0.5.9
   Compiling indexmap v1.9.1
   Compiling url v2.3.0
   Compiling chrono v0.4.23
   Compiling bigdecimal v0.3.0
   Compiling string_cache v0.8.4
   Compiling parser-database v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling system-deps v6.0.2
   Compiling proc-macro-crate v1.2.1
   Compiling system-deps v5.0.0
   Compiling rusqlite v0.25.4
   Compiling treediff v3.0.2
   Compiling lsp-types v0.91.1
   Compiling prisma-value v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling json-patch v0.2.6
   Compiling serde_with v1.14.0
   Compiling glib-macros v0.15.11
   Compiling gtk3-macros v0.15.4
   Compiling glib-sys v0.15.10
   Compiling gobject-sys v0.15.10
   Compiling gdk-sys v0.15.1
   Compiling gio-sys v0.15.10
   Compiling atk-sys v0.15.1
   Compiling pango-sys v0.15.10
   Compiling gdk-pixbuf-sys v0.15.10
   Compiling cairo-sys-rs v0.15.1
   Compiling gtk-sys v0.15.3
   Compiling soup2-sys v0.2.0
   Compiling javascriptcore-rs-sys v0.4.0
   Compiling webkit2gtk-sys v0.18.0
   Compiling quaint v0.2.0-alpha.13 (https://github.com/prisma/quaint?rev=6df49f14efe99696e577ffb9902c83b09bec8de2#6df49f14)
   Compiling kuchiki v0.8.1
   Compiling gdkx11-sys v0.15.1
   Compiling tauri-utils v1.2.1
   Compiling serde_urlencoded v0.7.1
   Compiling multihash-derive v0.8.0
   Compiling prost-build v0.11.8
   Compiling serde-big-array v0.3.3
   Compiling user-facing-errors v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling serde_path_to_error v0.1.8
   Compiling globset v0.4.9
   Compiling serialize-to-javascript-impl v0.1.1
   Compiling glib v0.15.12
   Compiling multihash v0.17.0
   Compiling serialize-to-javascript v0.1.1
   Compiling tauri-codegen v1.2.1
   Compiling multiaddr v0.17.0
   Compiling libp2p-core v0.39.0
   Compiling ignore v0.4.18
   Compiling attohttpc v0.22.0
   Compiling tungstenite v0.18.0
   Compiling uhlc v0.5.1
   Compiling os_info v3.5.1
   Compiling ed25519-dalek v1.0.1
   Compiling sec1 v0.3.0
   Compiling psl-core v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling netlink-sys v0.8.3
   Compiling multistream-select v0.12.1
   Compiling rw-stream-sink v0.3.0
   Compiling metrics v0.19.0
   Compiling cipher v0.4.3
   Compiling flume v0.10.14
   Compiling specta-macros v0.0.6 (https://github.com/oscartbeaumont/rspc?rev=c03872c0ba29d2429e9c059dfb235cdd03e15e8c#c03872c0)
   Compiling metrics-util v0.13.0
   Compiling netlink-proto v0.10.0
   Compiling async-tungstenite v0.19.0
   Compiling json-rpc-api-build v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling oid-registry v0.6.1
   Compiling der-parser v8.2.0
   Compiling builtin-psl-connectors v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling dml v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling netlink-packet-route v0.12.0
   Compiling psl v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling cairo-rs v0.15.12
   Compiling pango v0.15.10
   Compiling atk v0.15.1
   Compiling javascriptcore-rs v0.16.0
   Compiling prisma-models v0.0.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling tauri-macros v1.2.1
   Compiling introspection-connector v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling specta v0.0.6 (https://github.com/oscartbeaumont/rspc?rev=c03872c0ba29d2429e9c059dfb235cdd03e15e8c#c03872c0)
   Compiling schema v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling sql-schema-describer v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling datamodel-renderer v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling ffmpeg-sys-next v5.1.1
   Compiling opentelemetry v0.17.0
   Compiling enumflags2_derive v0.6.4
   Compiling async-stream-impl v0.3.3
   Compiling tracing-opentelemetry v0.17.4
   Compiling enumflags2 v0.6.4
   Compiling sql-introspection-connector v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling schema-builder v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling async-stream v0.3.3
   Compiling query-connector v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling migration-connector v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling rtnetlink v0.10.1
   Compiling migration-core v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling x509-parser v0.14.0
   Compiling httpz v0.0.3 (https://github.com/oscartbeaumont/httpz.git?rev=a5020adecb15b55d84a8330b4680eba82fa6b820#a5020ade)
   Compiling metrics-exporter-prometheus v0.10.0
   Compiling zvariant_derive v2.10.0
   Compiling proc-macro-crate v0.1.5
   Compiling metrics-util v0.12.1
   Compiling if-watch v3.0.0 (https://github.com/oscartbeaumont/if-watch?rev=410e8e1d2d0730f1441df1c29294fec4c3c04193#410e8e1d)
   Compiling zbus_macros v1.9.3
   Compiling libp2p-tls v0.1.0-alpha.2
   Compiling query-engine-metrics v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling sql-query-connector v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling sql-migration-connector v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling exr v1.5.2
   Compiling jsonrpc-core v17.1.0
   Compiling quinn-proto v0.9.2
   Compiling zvariant v2.10.0
   Compiling darling_macro v0.14.2
   Compiling derivative v2.2.0
   Compiling dmmf v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling darling v0.14.2
   Compiling libp2p-swarm v0.42.0
   Compiling image v0.24.4
   Compiling libp2p-quic v0.7.0-alpha.2
   Compiling ctr v0.9.2
   Compiling chacha20 v0.9.0
   Compiling aes v0.8.1
   Compiling int-enum-impl v0.5.0
   Compiling serde-value v0.7.0
   Compiling gdk-pixbuf v0.15.11
   Compiling soup2 v0.2.1
   Compiling zbus v1.9.3
   Compiling dashmap v5.4.0
   Compiling strum_macros v0.24.3
   Compiling int-enum v0.5.0
   Compiling aes-gcm v0.10.1
   Compiling gdk v0.15.4
   Compiling chacha20poly1305 v0.10.1
   Compiling libp2p v0.51.0
   Compiling serde_with_macros v2.2.0
   Compiling secret-service v2.0.2
   Compiling webp v0.2.2
   Compiling mdns-sd v0.6.1 (https://github.com/oscartbeaumont/mdns-sd?rev=45515a98e9e408c102871abaa5a9bff3bee0cbe8#45515a98)
   Compiling cargo_toml v0.11.8
   Compiling rmp-serde v1.1.1
   Compiling strum v0.24.1
   Compiling serde-big-array v0.5.1
   Compiling tokio-util v0.7.7
   Compiling tauri-build v1.1.1
   Compiling sd-p2p v0.1.0 (/home/vitor/Workspace/spacedrive/crates/p2p)
   Compiling sd-file-ext v0.0.0 (/home/vitor/Workspace/spacedrive/crates/file-ext)
   Compiling serde_with v2.2.0
   Compiling sd-ffmpeg v0.1.0 (/home/vitor/Workspace/spacedrive/crates/ffmpeg)
   Compiling query-core v0.1.0 (https://github.com/Brendonovich/prisma-engines?rev=6bad339fc5b8bbc77e028eeae2038cf2ade2e6be#6bad339f)
   Compiling mini-moka v0.10.0
error[E0425]: cannot find value `AV_CH_FRONT_LEFT` in this scope
 --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:6:39
  |
6 |         const FRONT_LEFT            = AV_CH_FRONT_LEFT;
  |                                       ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_FRONT_RIGHT` in this scope
 --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:7:39
  |
7 |         const FRONT_RIGHT           = AV_CH_FRONT_RIGHT;
  |                                       ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_FRONT_CENTER` in this scope
 --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:8:39
  |
8 |         const FRONT_CENTER          = AV_CH_FRONT_CENTER;
  |                                       ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LOW_FREQUENCY` in this scope
 --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:9:39
  |
9 |         const LOW_FREQUENCY         = AV_CH_LOW_FREQUENCY;
  |                                       ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_BACK_LEFT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:10:39
   |
10 |         const BACK_LEFT             = AV_CH_BACK_LEFT;
   |                                       ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_BACK_RIGHT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:11:39
   |
11 |         const BACK_RIGHT            = AV_CH_BACK_RIGHT;
   |                                       ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_FRONT_LEFT_OF_CENTER` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:12:39
   |
12 |         const FRONT_LEFT_OF_CENTER  = AV_CH_FRONT_LEFT_OF_CENTER;
   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_FRONT_RIGHT_OF_CENTER` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:13:39
   |
13 |         const FRONT_RIGHT_OF_CENTER = AV_CH_FRONT_RIGHT_OF_CENTER;
   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_BACK_CENTER` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:14:39
   |
14 |         const BACK_CENTER           = AV_CH_BACK_CENTER;
   |                                       ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_SIDE_LEFT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:15:39
   |
15 |         const SIDE_LEFT             = AV_CH_SIDE_LEFT;
   |                                       ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_SIDE_RIGHT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:16:39
   |
16 |         const SIDE_RIGHT            = AV_CH_SIDE_RIGHT;
   |                                       ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_TOP_CENTER` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:17:39
   |
17 |         const TOP_CENTER            = AV_CH_TOP_CENTER;
   |                                       ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_TOP_FRONT_LEFT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:18:39
   |
18 |         const TOP_FRONT_LEFT        = AV_CH_TOP_FRONT_LEFT;
   |                                       ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_TOP_FRONT_CENTER` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:19:39
   |
19 |         const TOP_FRONT_CENTER      = AV_CH_TOP_FRONT_CENTER;
   |                                       ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_TOP_FRONT_RIGHT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:20:39
   |
20 |         const TOP_FRONT_RIGHT       = AV_CH_TOP_FRONT_RIGHT;
   |                                       ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_TOP_BACK_LEFT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:21:39
   |
21 |         const TOP_BACK_LEFT         = AV_CH_TOP_BACK_LEFT;
   |                                       ^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_TOP_BACK_CENTER` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:22:39
   |
22 |         const TOP_BACK_CENTER       = AV_CH_TOP_BACK_CENTER;
   |                                       ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_TOP_BACK_RIGHT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:23:39
   |
23 |         const TOP_BACK_RIGHT        = AV_CH_TOP_BACK_RIGHT;
   |                                       ^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_STEREO_LEFT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:24:39
   |
24 |         const STEREO_LEFT           = AV_CH_STEREO_LEFT;
   |                                       ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_STEREO_RIGHT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:25:39
   |
25 |         const STEREO_RIGHT          = AV_CH_STEREO_RIGHT;
   |                                       ^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_WIDE_LEFT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:26:39
   |
26 |         const WIDE_LEFT             = AV_CH_WIDE_LEFT;
   |                                       ^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_WIDE_RIGHT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:27:39
   |
27 |         const WIDE_RIGHT            = AV_CH_WIDE_RIGHT;
   |                                       ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_SURROUND_DIRECT_LEFT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:28:39
   |
28 |         const SURROUND_DIRECT_LEFT  = AV_CH_SURROUND_DIRECT_LEFT;
   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_SURROUND_DIRECT_RIGHT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:29:39
   |
29 |         const SURROUND_DIRECT_RIGHT = AV_CH_SURROUND_DIRECT_RIGHT;
   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LOW_FREQUENCY_2` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:30:39
   |
30 |         const LOW_FREQUENCY_2       = AV_CH_LOW_FREQUENCY_2;
   |                                       ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_MONO` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:33:36
   |
33 |         const MONO               = AV_CH_LAYOUT_MONO;
   |                                    ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_STEREO` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:34:36
    |
34  |         const STEREO             = AV_CH_LAYOUT_STEREO;
    |                                    ^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_2POINT1` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:35:36
    |
35  |         const _2POINT1           = AV_CH_LAYOUT_2POINT1;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_2_1` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:36:36
   |
36 |         const _2_1               = AV_CH_LAYOUT_2_1;
   |                                    ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_SURROUND` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:37:36
   |
37 |         const SURROUND           = AV_CH_LAYOUT_SURROUND;
   |                                    ^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_3POINT1` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:38:36
    |
38  |         const _3POINT1           = AV_CH_LAYOUT_3POINT1;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_4POINT0` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:39:36
    |
39  |         const _4POINT0           = AV_CH_LAYOUT_4POINT0;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_4POINT1` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:40:36
    |
40  |         const _4POINT1           = AV_CH_LAYOUT_4POINT1;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_2_2` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:41:36
   |
41 |         const _2_2               = AV_CH_LAYOUT_2_2;
   |                                    ^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_QUAD` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:42:36
   |
42 |         const QUAD               = AV_CH_LAYOUT_QUAD;
   |                                    ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_5POINT0` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:43:36
    |
43  |         const _5POINT0           = AV_CH_LAYOUT_5POINT0;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_5POINT1` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:44:36
    |
44  |         const _5POINT1           = AV_CH_LAYOUT_5POINT1;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_5POINT0_BACK` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:45:36
   |
45 |         const _5POINT0_BACK      = AV_CH_LAYOUT_5POINT0_BACK;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_5POINT1_BACK` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:46:36
   |
46 |         const _5POINT1_BACK      = AV_CH_LAYOUT_5POINT1_BACK;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_6POINT0` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:47:36
    |
47  |         const _6POINT0           = AV_CH_LAYOUT_6POINT0;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_6POINT0_FRONT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:48:36
   |
48 |         const _6POINT0_FRONT     = AV_CH_LAYOUT_6POINT0_FRONT;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_HEXAGONAL` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:49:36
   |
49 |         const HEXAGONAL          = AV_CH_LAYOUT_HEXAGONAL;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_6POINT1` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:50:36
    |
50  |         const _6POINT1           = AV_CH_LAYOUT_6POINT1;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_6POINT1_BACK` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:51:36
   |
51 |         const _6POINT1_BACK      = AV_CH_LAYOUT_6POINT1_BACK;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_6POINT1_FRONT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:52:36
   |
52 |         const _6POINT1_FRONT     = AV_CH_LAYOUT_6POINT1_FRONT;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_7POINT0` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:53:36
    |
53  |         const _7POINT0           = AV_CH_LAYOUT_7POINT0;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_7POINT0_FRONT` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:54:36
   |
54 |         const _7POINT0_FRONT     = AV_CH_LAYOUT_7POINT0_FRONT;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_7POINT1` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:55:36
    |
55  |         const _7POINT1           = AV_CH_LAYOUT_7POINT1;
    |                                    ^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CH_LAYOUT_NATIVE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:719:1
    |
719 | pub const AV_CH_LAYOUT_NATIVE: libc::c_ulonglong = 9223372036854775808;
    | ------------------------------------------------ similarly named constant `AV_CH_LAYOUT_NATIVE` defined here

error[E0425]: cannot find value `AV_CH_LAYOUT_7POINT1_WIDE` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:56:36
   |
56 |         const _7POINT1_WIDE      = AV_CH_LAYOUT_7POINT1_WIDE;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_7POINT1_WIDE_BACK` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:57:36
   |
57 |         const _7POINT1_WIDE_BACK = AV_CH_LAYOUT_7POINT1_WIDE_BACK;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_OCTAGONAL` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:58:36
   |
58 |         const OCTAGONAL          = AV_CH_LAYOUT_OCTAGONAL;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_HEXADECAGONAL` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:59:36
   |
59 |         const HEXADECAGONAL      = AV_CH_LAYOUT_HEXADECAGONAL;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CH_LAYOUT_STEREO_DOWNMIX` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/util/channel_layout.rs:60:36
   |
60 |         const STEREO_DOWNMIX     = AV_CH_LAYOUT_STEREO_DOWNMIX;
   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `AV_CODEC_FLAG_TRUNCATED` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/codec/flag.rs:15:33
    |
15  |         const TRUNCATED       = AV_CODEC_FLAG_TRUNCATED;
    |                                 ^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CODEC_FLAG_DROPCHANGED`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:779:1
    |
779 | pub const AV_CODEC_FLAG_DROPCHANGED: libc::c_uint = 32;
    | ------------------------------------------------- similarly named constant `AV_CODEC_FLAG_DROPCHANGED` defined here

error[E0425]: cannot find value `AV_CODEC_CAP_TRUNCATED` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/codec/capabilities.rs:8:37
    |
8   |         const TRUNCATED           = AV_CODEC_CAP_TRUNCATED;
    |                                     ^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CODEC_CAP_HARDWARE`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:741:1
    |
741 | pub const AV_CODEC_CAP_HARDWARE: libc::c_uint = 262144;
    | --------------------------------------------- similarly named constant `AV_CODEC_CAP_HARDWARE` defined here

error[E0425]: cannot find value `AV_CODEC_CAP_AUTO_THREADS` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/codec/capabilities.rs:19:37
    |
19  |         const AUTO_THREADS        = AV_CODEC_CAP_AUTO_THREADS;
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CODEC_CAP_FRAME_THREADS`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:735:1
    |
735 | pub const AV_CODEC_CAP_FRAME_THREADS: libc::c_uint = 4096;
    | -------------------------------------------------- similarly named constant `AV_CODEC_CAP_FRAME_THREADS` defined here

error[E0425]: cannot find value `AV_CODEC_CAP_INTRA_ONLY` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/codec/capabilities.rs:21:37
    |
21  |         const INTRA_ONLY          = AV_CODEC_CAP_INTRA_ONLY;
    |                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CODEC_PROP_INTRA_ONLY`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:746:1
    |
746 | pub const AV_CODEC_PROP_INTRA_ONLY: libc::c_int = 1;
    | ----------------------------------------------- similarly named constant `AV_CODEC_PROP_INTRA_ONLY` defined here

error[E0425]: cannot find value `AV_CODEC_CAP_LOSSLESS` in this scope
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/codec/capabilities.rs:22:37
    |
22  |         const LOSSLESS            = AV_CODEC_CAP_LOSSLESS;
    |                                     ^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `AV_CODEC_PROP_LOSSLESS`
    |
   ::: /home/vitor/Workspace/spacedrive/target/debug/build/ffmpeg-sys-next-0b5f2571c17b312c/out/bindings.rs:748:1
    |
748 | pub const AV_CODEC_PROP_LOSSLESS: libc::c_int = 4;
    | --------------------------------------------- similarly named constant `AV_CODEC_PROP_LOSSLESS` defined here

error[E0609]: no field `thread_safe_callbacks` on type `sys::AVCodecContext`
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/codec/context.rs:104:34
    |
104 |             (*self.as_mut_ptr()).thread_safe_callbacks = if config.safe { 1 } else { 0 };
    |                                  ^^^^^^^^^^^^^^^^^^^^^ unknown field
    |
    = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 154 others

error[E0609]: no field `thread_safe_callbacks` on type `sys::AVCodecContext`
   --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/codec/context.rs:113:40
    |
113 |                 safe: (*self.as_ptr()).thread_safe_callbacks != 0,
    |                                        ^^^^^^^^^^^^^^^^^^^^^ unknown field
    |
    = note: available fields are: `av_class`, `log_level_offset`, `codec_type`, `codec`, `codec_id` ... and 154 others

error[E0425]: cannot find function `avfilter_pad_count` in this scope
  --> /home/vitor/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-next-5.1.1/src/filter/filter.rs:94:28
   |
94 |             if self.cur >= avfilter_pad_count(self.ptr) as isize {
   |                            ^^^^^^^^^^^^^^^^^^ not found in this scope

Some errors have detailed explanations: E0425, E0609.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `ffmpeg-next` due to 61 previous errors
warning: build failed, waiting for other jobs to finish...

/home/vitor/Workspace/spacedrive/apps/desktop:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  @sd/desktop@1.0.0 dev: `tauri dev`
Exit status 101
 ELIFECYCLE  Command failed with exit code 1.

Additional context

None

PyRo1121 commented 1 year ago

I can confirm the current locked FFMPEG version is available for Arch and this is just a issue to push to the latest.

brxken128 commented 1 year ago

myself and @fogodev discussed this the other day, and there's two repositories that must offer ffmpeg6 before we can attempt the update: brew and debian/apt

it doesn't seem as though brew has updated, at the time of writing

the compile-time logic you mention would be pretty cool, but i'm not even sure something such as that is possible (sadly)

the only solutions i can offer currently are: continue using ffmpeg-sys-next 6.x.x locally, or downgrade ffmpeg back to 5.1.x.

both aren't the most practical, and i do apologise - i think we may just have to wait this one out.

HeavenVolkoff commented 1 year ago

the compile-time logic you mention would be pretty cool, but i'm not even sure something such as that is possible (sadly)

I did some research on the topic, and although I found that Cargo supports build scripts and dependency patching, these don't seem to provide a way to override a crate version based on a system library version.

In the worst case scenario, since everything in the repository is called through pnpm, it may be possible to write a simple script that patches the Cargo.toml file before calling the Rust compiler. It may not be elegant, but it should work. Alternatively, maybe it would be better to compiling a version of ffmpeg specifically for Spacedrive needs, especially considering that the situation with Windows and FFmpeg is also kinda flaky.

brxken128 commented 1 year ago

it does appear possible, but in hindsight i also don't think it would be a great idea (not in this situation anyway). a major version bump such as ffmpeg 5.1.x -> ffmpeg 6.0.0 is considered breaking by the rules of semantic versioning, and that also means we may have to update some of the code.

the above may not be the case for this instance, but it's bound to happen in the future. there's also nothing stopping archaic versions from being detected/used by a script, and ffmpeg versioning isn't directly 1:1 with ffmpeg-sys-next - quite a few problems to overcome.

along with this, it means Spacedrive build reproducibility goes completely out of the window; i can forsee quite a few issues that'll come with that (e.g. something works for me on Fedora, but not you using Arch, all because our ffmpeg versions are changed on-the-fly).

jokeyrhyme commented 1 year ago

Perhaps we can package as a flatpak/snap/appimage or otherwise bundle a known-compatible version of ffmpeg?

brxken128 commented 1 year ago

Perhaps we can package as a flatpak/snap/appimage or otherwise bundle a known-compatible version of ffmpeg?

This is the plan for release builds anyway, afaik - leaving it to our users to handle the installation of dependencies wouldn't be the best experience.

VictorNine commented 1 year ago

For the next guy who's not to comfortable with rust. The local quick fix solution is to: Change the references in both files below from 5.1.1 to 6.0.0 crates/ffmpeg/Cargo.toml core/Cargo.toml

HeavenVolkoff commented 1 year ago

This was solved in #697