after updating icu on my linux dev machine which broke something (c.f. the other bug) so I tried to self compile and got this:
$ ./x install
...
= note: "x86_64-pc-linux-gnu-cc" "-Wl,--version-script=/tmp/rustcWUvZFE/list" "-Wl,--no-undefined-version" "-m64" "/tmp/rustcWUvZFE/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/home/flammie/github/divvun/divvun-runtime/target/release/deps/{libhound-c5088cad93c3ba5b.rlib,libtracing-1afb857e156b4f1d.rlib,libpin_project_lite-974d58462c236ab5.rlib,libtracing_core-fcc7bb4893e4370f.rlib,libonce_cell-80002a75cede3620.rlib,libtch-7fe9b5e4338f4f02.rlib,librand-e1fb975646b49f5f.rlib,librand_chacha-ad02ba6224164475.rlib,librand_core-fb9a57618d1f3b5d.rlib,libgetrandom-6224b429d8ffb1c7.rlib,libsafetensors-f57b8da6cfd1975d.rlib,libserde_json-8f5c3696fb15580a.rlib,libmemchr-a33bd40aa8b87f60.rlib,libitoa-f50d6b1e1cd833b3.rlib,libryu-c8c87d94b5eeec79.rlib,libhalf-37ee8b2bd3bc7bd8.rlib,libtorch_sys-51a027710df0f898.rlib}.rlib" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libc10.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libclog.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libcpuinfo.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libfmt.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libmicrokernels-prod.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libnnpack.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libprotobuf.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libprotobuf-lite.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libpthreadpool.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libpytorch_qnnpack.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libsleef.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libtensorpipe.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libtensorpipe_uv.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libtorch.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libtorch_cpu.a" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-Wl,/tmp/rustcWUvZFE/libXNNPACK.a" "-Wl,--no-whole-archive" "/home/flammie/github/divvun/divvun-runtime/target/release/deps/{libzip-a88138ff1f418554.rlib,libpbkdf2-b8a89b14e792ba48.rlib,libsha2-30858c197e3755df.rlib,libpassword_hash-4aaa373aad498f45.rlib,libbase64ct-5935f7f1479f8ff9.rlib,libtime-df2b939aa6c33fd3.rlib,libtime_core-f9653abd6db63b2a.rlib,libnum_conv-99e6b1a83061ada2.rlib,libderanged-e7447b95e0f19df6.rlib,libpowerfmt-8e765171d8004baf.rlib,libzstd-ed7a817d36ca5c75.rlib,libzstd_safe-cddd7ebede67d6ec.rlib,libzstd_sys-1727f14d1e8df402.rlib,libbzip2-b929eda03a597412.rlib,libbzip2_sys-3350b015ca74de88.rlib,libflate2-f99e4bb91727daca.rlib,libminiz_oxide-91f783d49e774aac.rlib,libsimd_adler32-c49d30a0df7d0d51.rlib,libcrc32fast-ebfa993c1b2780d8.rlib,libbyteorder-86b8934e04b65731.rlib,libaes-baa6c5d0ec3314fe.rlib,libcipher-417d2f5b65754e55.rlib,libinout-0b63c9f016beb639.rlib,libsha1-5683d74f8e0dc691.rlib,libcpufeatures-9b1bcc0a02fc23c3.rlib,libhmac-3e422c153d7439fe.rlib,libdigest-94b98515700a8cae.rlib,libsubtle-023d24317e0b337e.rlib,libblock_buffer-5a63608838411920.rlib,libcrypto_common-2ed633a52f513da4.rlib,libgeneric_array-f9fa7e3fa1c206f8.rlib,libtypenum-f121c4db94769789.rlib,libconstant_time_eq-3f29140eb61348ac.rlib,libthiserror-4857d8143dbc205e.rlib,liblazy_static-12d25bf3506faad8.rlib,libndarray_ndimage-21b16869a69fa837.rlib,libndarray_stats-098500739ea68a93.rlib,librand-877736362ac22dc1.rlib,librand_chacha-615ba89402bebbe2.rlib,libppv_lite86-2d89fa9e7b87b852.rlib,libzerocopy-f90c930c9812083f.rlib,librand_core-ef0287e4fc4ebd4b.rlib,libgetrandom-4078c5fe7e8be9bc.rlib,libcfg_if-fe01be5a7b43e5f8.rlib,libindexmap-10b1debbadfe78bf.rlib,libhashbrown-14e2613fba44f6db.rlib,libequivalent-ec0dfc239d64e522.rlib,libserde-c9ffbcb82421bffa.rlib,liballocator_api2-b610e8fd56c636e8.rlib,libfoldhash-a06263164b8bf46f.rlib,libserde_core-d0194a6e0c48cbc8.rlib,libitertools-65b0427fc6f0a5b4.rlib,libeither-ef076c1426684b3a.rlib,libnoisy_float-71581bccd1da6fe7.rlib,libndarray-b50497f731cf0e9b.rlib,libmatrixmultiply-1c6121330610262d.rlib,libapprox-1d8d51e9851752f8.rlib,libnum_complex-efb3eb5190bdaf68.rlib,libnum_integer-9fdb77e5283f1d97.rlib,libnum_traits-5eed135e3d51ff73.rlib,librawpointer-ff8955f0df96f8b2.rlib,libmemmap2-008b87e248beae63.rlib,liblibc-3155fbfedfac71a8.rlib}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_abort-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,libcfg_if-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lstdc++" "-lgomp" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcWUvZFE/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/flammie/github/divvun/divvun-runtime/target/release/build/torch-sys-3d00daaf76bd3d5b/out" "-L" "/home/flammie/github/divvun/divvun-runtime/target/release/build/bzip2-sys-b834b300b943ad5c/out/lib" "-L" "/home/flammie/github/divvun/divvun-runtime/target/release/build/zstd-sys-a0f6ecef0f6ceb35/out" "-L" "/home/flammie/github/divvun/divvun-runtime/.x/sysroot/x86_64-unknown-linux-gnu/lib" "-L" "/home/flammie/github/divvun/divvun-runtime/.x/sysroot/x86_64-unknown-linux-gnu/lib" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/flammie/github/divvun/divvun-runtime/target/release/deps/libdivvun_speech-fe200b8b3cb1893e.so" "-Wl,--gc-sections" "-shared" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-rpath,$ORIGIN/../../../../../../../..<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib,--enable-new-dtags,-z,origin"
= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(any_lite.cc.o): in function `google::protobuf::internal::GetTypeUrl[abi:cxx11](std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)':
any_lite.cc:(.text+0x0): multiple definition of `google::protobuf::internal::GetTypeUrl[abi:cxx11](std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)'; /tmp/rustcWUvZFE/libprotobuf.a(any_lite.cc.o):any_lite.cc:(.text+0x0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(any_lite.cc.o): in function `google::protobuf::internal::EndsWithTypeName(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)':
any_lite.cc:(.text+0x90): multiple definition of `google::protobuf::internal::EndsWithTypeName(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)'; /tmp/rustcWUvZFE/libprotobuf.a(any_lite.cc.o):any_lite.cc:(.text+0x90): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(any_lite.cc.o): in function `google::protobuf::internal::InternalPackFromLite(google::protobuf::MessageLite const&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
any_lite.cc:(.text+0xd0): multiple definition of `google::protobuf::internal::InternalPackFromLite(google::protobuf::MessageLite const&, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'; /tmp/rustcWUvZFE/libprotobuf.a(any_lite.cc.o):any_lite.cc:(.text+0xd0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(any_lite.cc.o): in function `google::protobuf::internal::InternalUnpackToLite(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::MessageLite*)':
any_lite.cc:(.text+0x270): multiple definition of `google::protobuf::internal::InternalUnpackToLite(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::MessageLite*)'; /tmp/rustcWUvZFE/libprotobuf.a(any_lite.cc.o):any_lite.cc:(.text+0x270): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(any_lite.cc.o): in function `google::protobuf::internal::InternalIsLite(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)':
any_lite.cc:(.text+0x2d0): multiple definition of `google::protobuf::internal::InternalIsLite(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >)'; /tmp/rustcWUvZFE/libprotobuf.a(any_lite.cc.o):any_lite.cc:(.text+0x2d0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(any_lite.cc.o): in function `google::protobuf::internal::ParseAnyTypeUrl(std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
any_lite.cc:(.text+0x310): multiple definition of `google::protobuf::internal::ParseAnyTypeUrl(std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'; /tmp/rustcWUvZFE/libprotobuf.a(any_lite.cc.o):any_lite.cc:(.text+0x310): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(any_lite.cc.o): in function `google::protobuf::internal::ParseAnyTypeUrl(std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
any_lite.cc:(.text+0x650): multiple definition of `google::protobuf::internal::ParseAnyTypeUrl(std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'; /tmp/rustcWUvZFE/libprotobuf.a(any_lite.cc.o):any_lite.cc:(.text+0x650): first defined here
...
...
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.rodata+0x50): multiple definition of `google::protobuf::internal::WireFormatLite::kFieldTypeToCppTypeMap'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.rodata+0x50): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.rodata+0xa0): multiple definition of `google::protobuf::internal::WireFormatLite::kWireTypeForFieldType'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.rodata+0xa0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.data.rel.ro+0x0): multiple definition of `vtable for google::protobuf::internal::FieldSkipper'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.data.rel.ro+0x0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.data.rel.ro+0x38): multiple definition of `typeinfo for google::protobuf::internal::FieldSkipper'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.data.rel.ro+0x38): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.rodata+0xec): multiple definition of `typeinfo name for google::protobuf::internal::FieldSkipper'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.rodata+0xec): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.data.rel.ro+0x48): multiple definition of `vtable for google::protobuf::internal::CodedOutputStreamFieldSkipper'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.data.rel.ro+0x48): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.data.rel.ro+0x80): multiple definition of `typeinfo for google::protobuf::internal::CodedOutputStreamFieldSkipper'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.data.rel.ro+0x80): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/rustcWUvZFE/libprotobuf-lite.a(wire_format_lite.cc.o):(.rodata+0x116): multiple definition of `typeinfo name for google::protobuf::internal::CodedOutputStreamFieldSkipper'; /tmp/rustcWUvZFE/libprotobuf.a(wire_format_lite.cc.o):(.rodata+0x116): first defined here
collect2: error: ld returned 1 exit status
error: could not compile `divvun-speech` (lib) due to 1 previous error
it has some 1500 lines of that stuff.
after updating icu on my linux dev machine which broke something (c.f. the other bug) so I tried to self compile and got this:
it has some 1500 lines of that stuff.
Cargo build does this:
Just does this: