koverstreet / bcachefs-tools

http://bcachefs.org
GNU General Public License v2.0
116 stars 88 forks source link

bcachefs-tools-1.9.0 compile failure: ld.lld: error: undefined symbol: __cpu_model #300

Closed ray-adams closed 2 months ago

ray-adams commented 2 months ago

Trying to compile bcachefs-tools-1.7.0 results in a compile failure with undefined symbol error message.

 Compiling clap_complete v4.4.10
     Running `rustc --crate-name clap_complete --edition=2021 /var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/cargo_home/gentoo/clap_complete-4.4.10/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="default"' -C metadata=5dee0cff8267e1d8 -C extra-filename=-5dee0cff8267e1d8 --out-dir /var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps -C strip=debuginfo -L dependency=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps --extern clap=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap-e2407a005f0ba1c4.rmeta --cap-lints allow -C debuginfo=0 -C opt-level=2 -C target-cpu=skylake`
     Running `rustc --crate-name bcachefs --edition=2021 src/bcachefs.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=0a62a45950d0444a -C extra-filename=-0a62a45950d0444a --out-dir /var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps -C strip=debuginfo -L dependency=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps --extern anyhow=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libanyhow-5cf5e2b4cbf3ad06.rlib --extern bch_bindgen=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbch_bindgen-c885a5a1aa669b1f.rlib --extern byteorder=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbyteorder-2d66bb9acad889bf.rlib --extern clap=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap-e2407a005f0ba1c4.rlib --extern clap_complete=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap_complete-5dee0cff8267e1d8.rlib --extern colored=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libcolored-4035414ef7157a81.rlib --extern either=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libeither-4bfb78ba17966e6d.rlib --extern errno=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liberrno-0e755175bcaf9d31.rlib --extern libc=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblibc-ea1574fe5131fb93.rlib --extern log=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblog-00a9f1c338e4af7a.rlib --extern rpassword=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/librpassword-b692a778aa32f224.rlib --extern udev=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libudev-c5eb33a8957a9a56.rlib --extern uuid=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libuuid-507624a695015dc5.rlib -C debuginfo=0 -C opt-level=2 -C target-cpu=skylake -L . -l 'static:+whole-archive=bcachefs' -l urcu -l zstd -l blkid -l uuid -l sodium -l z -l lz4 -l zstd -l udev -l keyutils -l aio -L native=/usr/lib -L native=/usr/lib -L native=/usr/lib`
error: linking with `clang-18` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/bin:/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/temp/python3.12/bin:/usr/lib/portage/python3.12/ebuild-helpers/xattr:/usr/lib/portage/python3.12/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/bin:/usr/lib/llvm/17/bin:/usr/lib/llvm/18/bin" VSLANG="1033" "clang-18" "-m64" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/temp/rustcXEeaNN/symbols.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.00.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.01.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.02.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.03.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.04.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.05.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.06.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.07.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.08.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.09.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.10.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.11.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.12.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.13.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.14.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.bcachefs.a394f2e2417dca47-cgu.15.rcgu.o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a.1bypzan05i1ttuq4.rcgu.o" "-Wl,--as-needed" "-L" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps" "-L" "." "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "-lbcachefs" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-lurcu" "-lblkid" "-luuid" "-lsodium" "-lz" "-llz4" "-lzstd" "-ludev" "-lkeyutils" "-laio" "-Wl,-Bstatic" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/librpassword-b692a778aa32f224.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/librtoolbox-84fee07ec75b2af2.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libudev-c5eb33a8957a9a56.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblibudev_sys-953923ed69708fcf.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap_complete-5dee0cff8267e1d8.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libeither-4bfb78ba17966e6d.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblog-00a9f1c338e4af7a.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libcolored-4035414ef7157a81.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblazy_static-badb93c5dd24059b.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap-e2407a005f0ba1c4.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap_builder-934c0f0c39f75594.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libterminal_size-ed412f08b002d0cc.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/librustix-b512a5f01cda3b5e.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbitflags-17ebff7f20030585.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblinux_raw_sys-b143ab2063bd6d15.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libstrsim-06db6e7130f56497.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libanstream-08d102279327626c.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libanstyle_query-d24cb8998fe43817.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libcolorchoice-0cdadba4a365c78e.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libanstyle_parse-7c4af3107328353e.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libutf8parse-5ad8c6f59f79cbd3.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap_lex-a460d1593a37d8ec.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libanstyle-92fc93d1e4304c1e.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liberrno-0e755175bcaf9d31.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblibc-ea1574fe5131fb93.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbch_bindgen-c885a5a1aa669b1f.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libuuid-507624a695015dc5.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libanyhow-5cf5e2b4cbf3ad06.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbitflags-5a1cbf1e41c9ca65.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbyteorder-2d66bb9acad889bf.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libmemoffset-5a3612e0afadfac9.rlib" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbitfield-db8bc4e4a82ac585.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-283974e0a542e407.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-88e0d6e703e38994.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-437dbb4bcd211a18.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libmemchr-001392e77a965db0.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-19865aab7b6c7f77.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-e04757c407554ef5.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-17bf6e1a3ec40123.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd_detect-2b15c9cfe2d619f1.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-20f270a2ed207395.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-bf2623de8c14ac7f.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-04a2c57990dfc4b0.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-be2ddafe3aae227b.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-98daa694570d7901.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-7634b399ceeb3a6c.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-04ab6cf9ee45cdf8.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-220891e32b670521.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-9e7a2d3057ab047c.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-16bcdba2f24c5064.rlib" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-fff1c0d7f70193e7.rlib" "-Wl,-Bdynamic" "-ludev" "-lurcu-common" "-lurcu" "-lkeyutils" "-lunwind" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib/rust/1.78.0/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/bcachefs-0a62a45950d0444a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs"
  = note: ld.lld: error: undefined symbol: __cpu_model
          >>> referenced by tools-util.c
          >>>               tools-util.o:(crc32c) in archive ./libbcachefs.a
          clang-18: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `bcachefs-tools` (bin "bcachefs") due to 1 previous error

Caused by:
  process didn't exit successfully: `rustc --crate-name bcachefs --edition=2021 src/bcachefs.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=0a62a45950d0444a -C extra-filename=-0a62a45950d0444a --out-dir /var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps -C strip=debuginfo -L dependency=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps --extern anyhow=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libanyhow-5cf5e2b4cbf3ad06.rlib --extern bch_bindgen=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbch_bindgen-c885a5a1aa669b1f.rlib --extern byteorder=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libbyteorder-2d66bb9acad889bf.rlib --extern clap=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap-e2407a005f0ba1c4.rlib --extern clap_complete=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libclap_complete-5dee0cff8267e1d8.rlib --extern colored=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libcolored-4035414ef7157a81.rlib --extern either=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libeither-4bfb78ba17966e6d.rlib --extern errno=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liberrno-0e755175bcaf9d31.rlib --extern libc=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblibc-ea1574fe5131fb93.rlib --extern log=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/liblog-00a9f1c338e4af7a.rlib --extern rpassword=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/librpassword-b692a778aa32f224.rlib --extern udev=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libudev-c5eb33a8957a9a56.rlib --extern uuid=/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0/target/release/deps/libuuid-507624a695015dc5.rlib -C debuginfo=0 -C opt-level=2 -C target-cpu=skylake -L . -l 'static:+whole-archive=bcachefs' -l urcu -l zstd -l blkid -l uuid -l sodium -l z -l lz4 -l zstd -l udev -l keyutils -l aio -L native=/usr/lib -L native=/usr/lib -L native=/usr/lib` (exit status: 1)
make: *** [Makefile:179: bcachefs] Error 101
 * ERROR: sys-fs/bcachefs-tools-1.7.0::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-fs/bcachefs-tools-1.7.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-fs/bcachefs-tools-1.7.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0'
 * S: '/var/tmp/portage/sys-fs/bcachefs-tools-1.7.0/work/bcachefs-tools-1.7.0'
ray-adams commented 2 months ago

I can confirm that this also occurs in bcachefs-tools-1.9.0

xarblu commented 2 months ago

Looks like a Gentoo issue I faced a while ago. Could you try creating /etc/portage/env/sys-fs/bcachefs-tools with the following contents:

RUSTFLAGS="${RUSTFLAGS} -Clink-arg=-lgcc"

I think the issue is that rustc passes -nodefaultlibs to the linker (clang+lld) which means "libgcc" (or in clangs case compiler-rt) containing the __cpu_model isn't part of the final linker call.

ray-adams commented 2 months ago

Looks like a Gentoo issue I faced a while ago. Could you try creating /etc/portage/env/sys-fs/bcachefs-tools with the following contents:

RUSTFLAGS="${RUSTFLAGS} -Clink-arg=-lgcc"

I think the issue is that rustc passes -nodefaultlibs to the linker (clang+lld) which means "libgcc" (or in clangs case compiler-rt) containing the __cpu_model isn't part of the final linker call.

Thank you I have passed -C default-linker-libraries, which I believe disables -nodefaultlibs. This makes it compile on my system. Since my system is incompatible with gcc, I wouldn't be able to use -lgcc, unless if I am misunderstanding what that flag does. I don't think -lcompiler-rt is a valid flag.

xarblu commented 2 months ago

Since my system is incompatible with gcc, I wouldn't be able to use -lgcc

Afaik clang resolves -lgcc to whatever it was configured with at build time. You can check this via clang --print-libgcc-file-name which should return some kind of libclang_rt.builtins-*.a

EDIT: well not build time but what is set as the default --rtlib in /etc/clang

ray-adams commented 2 months ago

Since my system is incompatible with gcc, I wouldn't be able to use -lgcc

Afaik clang resolves -lgcc to whatever it was configured with at build time. You can check this via clang --print-libgcc-file-name which should return some kind of libclang_rt.builtins-*.a

EDIT: well not build time but what is set as the default --rtlib in /etc/clang

Ah I see now is there a way to specify that directly? And second of all does using -C default-linker-libraries achieve the same result?

xarblu commented 2 months ago

Ah I see now is there a way to specify that directly?

If you want to override the default from /etc/clang just pass the flag again e.g. clang --rtlib=compiler-rt

And second of all does using -C default-linker-libraries achieve the same result?

Not too sure there but I think it should be about the same