neovide: Error building on Fedora Linux: /usr/bin/ld: cannot find -lsndio
I’m attempting to build neovide on Fedora 31. I’ve installed all the devel packages I can think of, but I get the following error when building:
error: linking with `cc` failed: exit code: 1
<Trimmed, full output below>
= note: /usr/bin/ld: cannot find -lsndio
collect2: error: ld returned 1 exit status
Fedora uses PulseAudio for sound, so the package manager doesn’t have sndio (or libsndio). Do you know if there’s any way to build neovide without this dependency? I think it’s coming in through sdl2-sys. I’d be ok with no sound if that were the alternative.
Full build output:
$ cargo --version
cargo 1.41.0 (626f0f40e 2019-12-03)
$ cargo build --release
Compiling libc v0.2.67
Compiling cfg-if v0.1.10
Compiling autocfg v1.0.0
Compiling cc v1.0.50
Compiling pkg-config v0.3.17
Compiling lazy_static v1.4.0
Compiling proc-macro2 v1.0.9
Compiling unicode-xid v0.2.0
Compiling memchr v2.3.3
Compiling syn v1.0.16
Compiling log v0.4.8
Compiling byteorder v1.3.4
Compiling adler32 v1.0.4
Compiling regex-syntax v0.6.14
Compiling crc32fast v1.2.0
Compiling serde v1.0.104
Compiling bitflags v1.2.1
Compiling semver-parser v0.7.0
Compiling glob v0.3.0
Compiling version_check v0.1.5
Compiling encoding_rs v0.8.22
Compiling maybe-uninit v2.0.0
Compiling scopeguard v1.1.0
Compiling quick-error v1.2.3
Compiling ryu v1.0.2
Compiling unicode-width v0.1.7
Compiling ansi_term v0.11.0
Compiling termcolor v1.1.0
Compiling curl v0.4.25
Compiling proc-macro2 v0.4.30
Compiling bindgen v0.52.0
Compiling getrandom v0.1.14
Compiling slab v0.4.2
Compiling strsim v0.8.0
Compiling vec_map v0.8.1
Compiling proc-macro-nested v0.1.3
Compiling peeking_take_while v0.1.2
Compiling rustc-hash v1.1.0
Compiling itoa v0.4.5
Compiling openssl-probe v0.1.2
Compiling shlex v0.1.1
Compiling arrayvec v0.4.12
Compiling unicode-xid v0.1.0
Compiling unicode-segmentation v1.6.0
Compiling same-file v1.0.6
Compiling lazycell v1.2.1
Compiling syn v0.15.44
Compiling futures v0.1.29
Compiling futures-sink v0.3.4
Compiling futures-core v0.3.4
Compiling nodrop v0.1.14
Compiling rayon-core v1.7.0
Compiling num-derive v0.2.5
Compiling futures-io v0.3.4
Compiling futures-task v0.3.4
Compiling pin-utils v0.1.0-alpha.4
Compiling autocfg v0.1.7
Compiling smallvec v1.2.0
Compiling either v1.5.3
Compiling sdl2 v0.33.0 (https://github.com/Rust-SDL2/rust-sdl2#4e81db58)
Compiling lzw v0.10.0
Compiling arc-swap v0.4.4
Compiling float-ord v0.2.0
Compiling fnv v1.0.6
Compiling bytes v0.5.4
Compiling color_quant v1.0.1
Compiling pin-project-lite v0.1.4
Compiling anyhow v1.0.26
Compiling scoped_threadpool v0.1.9
Compiling cmake v0.1.42
Compiling num-traits v0.2.11
Compiling crossbeam-utils v0.7.2
Compiling num-integer v0.1.42
Compiling crossbeam-epoch v0.8.2
Compiling num-rational v0.2.3
Compiling num-iter v0.1.40
Compiling servo-fontconfig-sys v4.0.9
Compiling thread_local v1.0.1
Compiling libz-sys v1.0.25
Compiling openssl-sys v0.9.54
Compiling libloading v0.5.2
Compiling curl-sys v0.4.26
Compiling harfbuzz-sys v0.3.4
Compiling miniz_oxide v0.3.6
Compiling inflate v0.4.5
Compiling semver v0.9.0
Compiling clang-sys v0.28.1
Compiling nom v4.2.3
Compiling lock_api v0.3.3
Compiling humantime v1.3.0
Compiling textwrap v0.11.0
Compiling heck v0.3.1
Compiling walkdir v2.3.1
Compiling futures-channel v0.3.4
Compiling unicode-normalization v0.1.12
Compiling hashbrown v0.6.3
Compiling gif v0.10.3
Compiling servo-freetype-sys v4.0.5
Compiling expat-sys v2.1.6
Compiling rustc_version v0.2.3
Compiling rust-embed-utils v5.0.0
Compiling filetime v0.2.8
Compiling xattr v0.2.2
Compiling iovec v0.1.4
Compiling atty v0.2.14
Compiling num_cpus v1.12.0
Compiling socket2 v0.3.11
Compiling which v3.1.0
Compiling net2 v0.2.33
Compiling dirs-sys v0.3.4
Compiling signal-hook-registry v1.2.0
Compiling shared_library v0.1.9
Compiling time v0.1.42
Compiling raw-window-handle v0.3.3
Compiling parking_lot_core v0.7.0
Compiling aho-corasick v0.7.8
Compiling quote v1.0.2
Compiling deflate v0.7.20
Compiling flate2 v1.0.13
Compiling memoffset v0.5.3
Compiling toml v0.5.6
Compiling serde_json v1.0.48
Compiling quote v0.6.13
Compiling tar v0.4.26
Compiling clap v2.33.0
Compiling bytes v0.4.12
Compiling dirs v2.0.2
Compiling mio v0.6.21
Compiling ash v0.29.0
Compiling parking_lot v0.10.0
Compiling crossbeam-queue v0.2.1
Compiling euclid v0.20.7
Compiling rmp v0.8.9
Compiling regex v1.3.4
Compiling png v0.15.3
Compiling cexpr v0.3.6
Compiling winres v0.1.11
Compiling tokio-io v0.1.13
Compiling mio-uds v0.6.7
Compiling freetype v0.4.1
Compiling chrono v0.4.10
Compiling rmpv v0.4.4
Compiling lyon_geom v0.14.1
Compiling unidiff v0.3.2
Compiling env_logger v0.7.1
Compiling proc-macro-hack v0.5.11
Compiling tokio-macros v0.2.4
Compiling pin-project-internal v0.4.8
Compiling rust-embed-impl v5.5.0
Compiling async-trait v0.1.24
Compiling derive-new v0.5.8
Compiling neovide v0.4.0 (/home/chris/External/neovide)
Compiling flexi_logger v0.14.8
Compiling lyon_path v0.14.0
Compiling servo-fontconfig v0.4.0
Compiling sdl2-sys v0.33.0 (https://github.com/Rust-SDL2/rust-sdl2#4e81db58)
Compiling const-random-macro v0.1.8
Compiling futures-macro v0.3.4
Compiling tokio v0.2.11
Compiling rust-embed v5.5.0
Compiling pin-project v0.4.8
Compiling harfbuzz v0.3.1
Compiling font-kit v0.5.0
Compiling tiff v0.3.1
Compiling const-random v0.1.8
Compiling futures-util v0.3.4
Compiling skia-bindings v0.26.1
Compiling crossbeam-deque v0.7.3
Compiling skribo v0.0.1 (https://github.com/linebender/skribo#f306037c)
Compiling ahash v0.2.18
Compiling futures-executor v0.3.4
Compiling futures v0.3.4
Compiling rayon v1.3.0
Compiling lru v0.4.3
Compiling nvim-rs v0.1.1-alpha.0 (https://github.com/kethku/nvim-rs#3abe58a5)
Compiling skia-safe v0.26.1
Compiling jpeg-decoder v0.1.18
Compiling image v0.22.5
Compiling skulpin v0.5.2 (https://github.com/Kethku/skulpin?branch=sdl2#9c62459e)
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.0.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.1.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.10.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.11.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.12.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.13.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.14.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.15.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.2.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.3.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.4.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.5.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.6.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.7.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.8.rcgu.o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.neovide.9z5huwwm-cgu.9.rcgu.o" "-o" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e" "/home/chris/External/neovide/target/release/deps/neovide-21a263f9edd8447e.5bm8ivk88ka418oi.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/chris/External/neovide/target/release/deps" "-L" "/usr/lib64" "-L" "/usr/lib64" "-L" "/usr/lib64" "-L" "/usr/lib64" "-L" "/home/chris/External/neovide/target/release/build/sdl2-sys-ba04f8f266837a87/out/lib" "-L" "/home/chris/External/neovide/target/release/build/skia-bindings-060a19e7394c557f/out/skia" "-L" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/chris/External/neovide/target/release/deps/libskribo-81e7007640aef58f.rlib" "/home/chris/External/neovide/target/release/deps/libunicode_normalization-de9eb3df3f893c2c.rlib" "/home/chris/External/neovide/target/release/deps/libharfbuzz-1cd7a7485d8cb712.rlib" "/home/chris/External/neovide/target/release/deps/libharfbuzz_sys-88dc8bc8a4864033.rlib" "/home/chris/External/neovide/target/release/deps/libfont_kit-33849c2162814f16.rlib" "/home/chris/External/neovide/target/release/deps/libfloat_ord-75ac75aef76c3ec4.rlib" "/home/chris/External/neovide/target/release/deps/libdirs-709502fe69201281.rlib" "/home/chris/External/neovide/target/release/deps/libdirs_sys-6a055fbbdf566308.rlib" "/home/chris/External/neovide/target/release/deps/libwalkdir-682e4bf84e0e861e.rlib" "/home/chris/External/neovide/target/release/deps/libsame_file-35080408719eb26a.rlib" "/home/chris/External/neovide/target/release/deps/libfontconfig-88dd0342458db916.rlib" "/home/chris/External/neovide/target/release/deps/libfontconfig_sys-f84276ddfe7129e6.rlib" "/home/chris/External/neovide/target/release/deps/libexpat_sys-8bce9da35c757ac0.rlib" "/home/chris/External/neovide/target/release/deps/libfreetype-875dbfad84799b5a.rlib" "/home/chris/External/neovide/target/release/deps/libfreetype_sys-16de1c526aa2516e.rlib" "/home/chris/External/neovide/target/release/deps/liblyon_path-fd854db5af8c9b11.rlib" "/home/chris/External/neovide/target/release/deps/liblyon_geom-083450daceeb0dc2.rlib" "/home/chris/External/neovide/target/release/deps/libarrayvec-60fcd51dbf46299c.rlib" "/home/chris/External/neovide/target/release/deps/libnodrop-c18d10a9aa69a770.rlib" "/home/chris/External/neovide/target/release/deps/libeuclid-b1391a47ad757023.rlib" "/home/chris/External/neovide/target/release/deps/liblru-83daaeb32e59e773.rlib" "/home/chris/External/neovide/target/release/deps/libhashbrown-f1a7dafd3eb052e9.rlib" "/home/chris/External/neovide/target/release/deps/libahash-be1adae0e3d80b9d.rlib" "/home/chris/External/neovide/target/release/deps/libconst_random-0da7025b20f9d5aa.rlib" "/home/chris/External/neovide/target/release/deps/libunicode_segmentation-8ed418f0e6c58df9.rlib" "/home/chris/External/neovide/target/release/deps/libskulpin-71c8cc2f09a6dab1.rlib" "/home/chris/External/neovide/target/release/deps/libskia_safe-802348bf307aaf9e.rlib" "/home/chris/External/neovide/target/release/deps/libskia_bindings-3b78a6dcf22b8ea5.rlib" "/home/chris/External/neovide/target/release/deps/libsdl2-17488c731203d430.rlib" "/home/chris/External/neovide/target/release/deps/libsdl2_sys-3e16463ea9f2ae96.rlib" "/home/chris/External/neovide/target/release/deps/libbitflags-71a495e0eea78baf.rlib" "/home/chris/External/neovide/target/release/deps/libash-67396e8a8feb0032.rlib" "/home/chris/External/neovide/target/release/deps/libshared_library-7855729a8b4b8ea9.rlib" "/home/chris/External/neovide/target/release/deps/libparking_lot-52568faa2ac36cfe.rlib" "/home/chris/External/neovide/target/release/deps/libparking_lot_core-aff4fa4323551b39.rlib" "/home/chris/External/neovide/target/release/deps/libsmallvec-47d435371451f4a1.rlib" "/home/chris/External/neovide/target/release/deps/liblock_api-6d482af423cad007.rlib" "/home/chris/External/neovide/target/release/deps/libscopeguard-e3bf792a7e923a6a.rlib" "/home/chris/External/neovide/target/release/deps/libflexi_logger-ed0af4ed5d4ca87a.rlib" "/home/chris/External/neovide/target/release/deps/libglob-c48317d530c48d80.rlib" "/home/chris/External/neovide/target/release/deps/libregex-6edb25b70dc14fa6.rlib" "/home/chris/External/neovide/target/release/deps/libthread_local-0bac6a75269f867b.rlib" "/home/chris/External/neovide/target/release/deps/libregex_syntax-997a2748946d53c4.rlib" "/home/chris/External/neovide/target/release/deps/libaho_corasick-f1f8bad71c648d60.rlib" "/home/chris/External/neovide/target/release/deps/libchrono-3c06e2b2073961ae.rlib" "/home/chris/External/neovide/target/release/deps/libnum_integer-2a4a8968e70f3344.rlib" "/home/chris/External/neovide/target/release/deps/libtime-8b5e103eca12c110.rlib" "/home/chris/External/neovide/target/release/deps/libnvim_rs-1e2f9f0313d7aa4b.rlib" "/home/chris/External/neovide/target/release/deps/libtokio-d9de94fb11b7d477.rlib" "/home/chris/External/neovide/target/release/deps/libsignal_hook_registry-7e7ec1d35a1d921b.rlib" "/home/chris/External/neovide/target/release/deps/libarc_swap-e813dca677212d67.rlib" "/home/chris/External/neovide/target/release/deps/libnum_cpus-9e5bbeec5cb6d396.rlib" "/home/chris/External/neovide/target/release/deps/libfnv-e2e4c0869e496bf7.rlib" "/home/chris/External/neovide/target/release/deps/libmio_uds-08c5d887fbe6a4b0.rlib" "/home/chris/External/neovide/target/release/deps/libmio-607e99568f1a389d.rlib" "/home/chris/External/neovide/target/release/deps/libnet2-ddbee00fb44f1373.rlib" "/home/chris/External/neovide/target/release/deps/libbytes-804e82ebb8276de9.rlib" "/home/chris/External/neovide/target/release/deps/libpin_project_lite-b3c4724ab1153312.rlib" "/home/chris/External/neovide/target/release/deps/libpin_project-255c6c499be91a9c.rlib" "/home/chris/External/neovide/target/release/deps/libfutures-82abb103a1db4762.rlib" "/home/chris/External/neovide/target/release/deps/libfutures_executor-5298c6a9ded5664f.rlib" "/home/chris/External/neovide/target/release/deps/libfutures_util-96aafe7d96b9bef1.rlib" "/home/chris/External/neovide/target/release/deps/libmemchr-2ccb7211af04d2f3.rlib" "/home/chris/External/neovide/target/release/deps/libproc_macro_nested-d25c42033288de95.rlib" "/home/chris/External/neovide/target/release/deps/libtokio_io-b047f48d897719ca.rlib" "/home/chris/External/neovide/target/release/deps/libbytes-6e5da74c9a988de7.rlib" "/home/chris/External/neovide/target/release/deps/libiovec-dd8574706aaf1ffd.rlib" "/home/chris/External/neovide/target/release/deps/liblibc-21390d94c01b5778.rlib" "/home/chris/External/neovide/target/release/deps/libfutures-fe757fdce74c1480.rlib" "/home/chris/External/neovide/target/release/deps/libfutures_io-eaaeec20e1a57a1f.rlib" "/home/chris/External/neovide/target/release/deps/libslab-380677bbf421fce9.rlib" "/home/chris/External/neovide/target/release/deps/libfutures_channel-7367024f360022f7.rlib" "/home/chris/External/neovide/target/release/deps/libfutures_sink-7b7f108c84153771.rlib" "/home/chris/External/neovide/target/release/deps/libfutures_task-fc720668dd23bdb2.rlib" "/home/chris/External/neovide/target/release/deps/libpin_utils-a447f0831faa7192.rlib" "/home/chris/External/neovide/target/release/deps/libfutures_core-61be92d8a15c3307.rlib" "/home/chris/External/neovide/target/release/deps/liblog-854ae8577cf6cbee.rlib" "/home/chris/External/neovide/target/release/deps/libcfg_if-0fd58a5d472cabdb.rlib" "/home/chris/External/neovide/target/release/deps/librmpv-38e93cd4b6ff9946.rlib" "/home/chris/External/neovide/target/release/deps/librmp-f2e977291e6da28e.rlib" "/home/chris/External/neovide/target/release/deps/libbyteorder-50fc91bc331ec4a3.rlib" "/home/chris/External/neovide/target/release/deps/libnum_traits-9e7553b94ece530f.rlib" "/home/chris/External/neovide/target/release/deps/liblazy_static-3fb4b1b4db43f8d4.rlib" "/home/chris/External/neovide/target/release/deps/librust_embed-17ebec6816749a32.rlib" "-Wl,--start-group" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-a2a766dac798f7cf.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-a85f7d74095723ea.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-4ed27bd07d52ec56.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-4c323f23cb5b2482.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-2e6de4a7e177acee.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-80571e4a1921bf51.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-1772b65d0f093257.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-37ebc98487d077f2.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-fa7cce2e70cf53f1.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-a60fcf932d3053cd.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-da705bf7dd482e5a.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-8a2e90edf20d7f0b.rlib" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-4888dfadf2ff3780.rlib" "-Wl,--end-group" "/home/chris/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-a0ee5f37b860b20a.rlib" "-Wl,-Bdynamic" "-lharfbuzz" "-lfontconfig" "-lfreetype" "-lexpat" "-lfreetype" "-lstdc++" "-lfontconfig" "-lfreetype" "-lsndio" "-lutil" "-ldl" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
= note: /usr/bin/ld: cannot find -lsndio
collect2: error: ld returned 1 exit status
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 20 (16 by maintainers)
Awesome! I will merge this soon and add a comment about the issue and possible fix in the readme.
Ok I pushed to “optional-sdl-embed”. If you build with the --no-default-features flag it should prevent embedding of the sdl2 binaries. Give it a try? Its very possible I didn’t do it right in which case some advice would be appreciated.
For the record I see the same as @lorenzleutgeb.