freebsd compilation failure during linking
Opened this issue · 4 comments
every source file builds but then it fails during the last ompilation during linking heres the output of failure any suggestions:
Compiling rust-ini v0.14.0
Compiling wldash v0.2.0 (/usr/home/doeboy1111/git/wayland/wldash)
warning: unused import: ffi::CStr
--> src/doublemempool.rs:3:5
|
3 | ffi::CStr,
| ^^^^^^^^^
|
= note: #[warn(unused_imports)]
on by default
warning: use of deprecated function fuzzy_matcher::skim::fuzzy_indices
: Please use SkimMatcherV2 instead
--> src/widgets/launcher.rs:18:27
|
18 | use fuzzy_matcher::skim::{fuzzy_indices, fuzzy_match};
| ^^^^^^^^^^^^^
|
= note: #[warn(deprecated)]
on by default
warning: use of deprecated function fuzzy_matcher::skim::fuzzy_match
: Please use SkimMatcherV2 instead
--> src/widgets/launcher.rs:18:42
|
18 | use fuzzy_matcher::skim::{fuzzy_indices, fuzzy_match};
| ^^^^^^^^^^^
warning: use of deprecated function fuzzy_matcher::skim::fuzzy_indices
: Please use SkimMatcherV2 instead
--> src/widgets/launcher.rs:100:21
|
100 | fuzzy_indices(&m.name.to_lowercase(), &self.input.to_lowercase())
| ^^^^^^^^^^^^^
warning: use of deprecated function fuzzy_matcher::skim::fuzzy_match
: Please use SkimMatcherV2 instead
--> src/widgets/launcher.rs:226:27
|
226 | if let Some(ma) = fuzzy_match(val, input) {
| ^^^^^^^^^^^
warning: use of deprecated associated function std::sync::atomic::AtomicBool::compare_and_swap
: Use compare_exchange
or compare_exchange_weak
instead
--> src/app.rs:81:36
|
81 | if !this_is_stupid.compare_and_swap(false, true, Ordering::SeqCst) {
| ^^^^^^^^^^^^^^^^
warning: panic message is not a string literal
--> src/config.rs:348:24
|
348 | None => panic!(format!("Font {} is missing from the config", name)),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[warn(non_fmt_panic)]
on by default
= note: this is no longer accepted in Rust 2021
= note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
warning: panic message is not a string literal
--> src/doublemempool.rs:212:40
|
212 | Err(err) => panic!(err),
| ^^^
|
= note: this is no longer accepted in Rust 2021
help: add a "{}" format string to Display the message
|
212 | Err(err) => panic!("{}", err),
| ^^^^^
help: or use std::panic::panic_any instead
|
212 | Err(err) => std::panic::panic_any(err),
| ^^^^^^^^^^^^^^^^^^^^^^
warning: panic message is not a string literal
--> src/doublemempool.rs:214:36
|
214 | Err(err) => panic!(err),
| ^^^
|
= note: this is no longer accepted in Rust 2021
help: add a "{}" format string to Display the message
|
214 | Err(err) => panic!("{}", err),
| ^^^^^
help: or use std::panic::panic_any instead
|
214 | Err(err) => std::panic::panic_any(err),
| ^^^^^^^^^^^^^^^^^^^^^^
warning: panic message is not a string literal
--> src/widgets/audio/alsa_sound.rs:102:30
|
102 | Err(e) => panic!(e),
| ^
|
= note: this is no longer accepted in Rust 2021
help: add a "{}" format string to Display the message
|
102 | Err(e) => panic!("{}", e),
| ^^^^^
help: or use std::panic::panic_any instead
|
102 | Err(e) => std::panic::panic_any(e),
| ^^^^^^^^^^^^^^^^^^^^^^
warning: panic message is not a string literal
--> src/widgets/audio/alsa_sound.rs:110:20
|
110 | panic!(e)
| ^
|
= note: this is no longer accepted in Rust 2021
help: add a "{}" format string to Display the message
|
110 | panic!("{}", e)
| ^^^^^
help: or use std::panic::panic_any instead
|
110 | std::panic::panic_any(e)
| ^^^^^^^^^^^^^^^^^^^^^^
warning: panic message is not a string literal
--> src/widgets/audio/alsa_sound.rs:115:20
|
115 | panic!(e)
| ^
|
= note: this is no longer accepted in Rust 2021
help: add a "{}" format string to Display the message
|
115 | panic!("{}", e)
| ^^^^^
help: or use std::panic::panic_any instead
|
115 | std::panic::panic_any(e)
| ^^^^^^^^^^^^^^^^^^^^^^
error: linking with cc
failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/usr/home/doeboy1111/.rustup/toolchains/stable-x86_64-unknown-freebsd/lib/rustlib/x86_64-unknown-freebsd/lib" "/usr/home/doeboy1111/git/wayland/wldash/target/release/deps/wldash-bc6ab10bb38f5e91.wldash.5lyfhw0w-cgu.15.rcgu.o" "-o" "/usr/home/doeboy1111/git/wayland/wldash/target/release/deps/wldash-bc6ab10bb38f5e91" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/usr/home/doeboy1111/git/wayland/wldash/target/release/deps" "-L" "/usr/local/lib" "-L" "/usr/local/lib" "-L" "/usr/local/lib" "-L" "/usr/local/lib" "-L" "/usr/home/doeboy1111/.rustup/toolchains/stable-x86_64-unknown-freebsd/lib/rustlib/x86_64-unknown-freebsd/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/usr/home/doeboy1111/.rustup/toolchains/stable-x86_64-unknown-freebsd/lib/rustlib/x86_64-unknown-freebsd/lib/libcompiler_builtins-84b862f5ffd396b9.rlib" "-Wl,-Bdynamic" "-ldbus-1" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpulse" "-lpthread" "-lasound" "-lfontconfig" "-lfreetype" "-lrt" "-lutil" "-lutil" "-lc" "-lexecinfo" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lrt" "-lutil" "-lutil"
= note: ld: error: undefined symbol: timerfd_create
>>> referenced by wldash.5lyfhw0w-cgu.15
>>> /usr/home/doeboy1111/git/wayland/wldash/target/release/deps/wldash-bc6ab10bb38f5e91.wldash.5lyfhw0w-cgu.15.rcgu.o:(wldash::main::hfb9082918b5d1ead)
ld: error: undefined symbol: timerfd_settime
>>> referenced by wldash.5lyfhw0w-cgu.15
>>> /usr/home/doeboy1111/git/wayland/wldash/target/release/deps/wldash-bc6ab10bb38f5e91.wldash.5lyfhw0w-cgu.15.rcgu.o:(wldash::main::hfb9082918b5d1ead)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
error: aborting due to previous error; 12 warnings emitted
error: could not compile wldash
timerfd_settime
requires -lepoll-shim
on BSDs. Probably, timerfd
crate needs to be ported or replaced with something less Linux-specific.
what would be your recommendednsuggestioon for me to do next?
The easiest and most portable thing would likely be to replace timerfd with timer signals like wlsunset uses (in C).
and which files would I be doing that in sorry i havent really looked too deeply into you source yet I had to do a fresh install of my system and im slowly getitng it back to where it was thank god for using seperate zpools for my config files home dir and my poudriere repo or id have been worse off all I really needed to do is reinstall all the programs i compiled directly from source which isnt too bad but that along with getting my new bedframe and matress around te same timme left me with not enough hours in the day that i need to accomplish everything