Lakelezz / audiopus_sys

Rust FFI-binding of Opus.
ISC License
15 stars 22 forks source link

Supporting cross compiling for musl #4

Closed JJJollyjim closed 3 years ago

JJJollyjim commented 4 years ago

The build.rs decides whether to use a static or dynamic opus based on the host environment, rather than the target. This means that by default, a build of a binary using this crate with --target x86_64-unknown-linux-musl will look like this:

        linux-vdso.so.1 (0x00007ffd027fa000)
        libopus.so.0 => /usr/lib/libopus.so.0 (0x00007f5cfa9f7000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f5cfa8b1000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f5cfa6ea000)
        /lib/ld64.so.1 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f5cfaadd000)

This is a small issue, easily worked around by building with OPUS_STATIC=1. Unfortunately, this too has problems. If I build on my host machine (Arch linux):

error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--eh-frame-hdr" "-m64" "-nostdlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/crt1.o" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/crti.o" "-L" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.1944j929e2ydwxpa.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.205px9ivd5z5eahx.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.2kjgu9ng3mdxq3si.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.2saga46ilno96qd6.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.34d7hegztlp8qzap.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.3fv3w2s7diy7yc8m.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.4apt6o2u4paazbc9.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.gz75pbti22wmemj.rcgu.o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.qgresvnj35ypm0g.rcgu.o" "-o" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/serenity_build_test-7848b8fefb6f83b3.26degt12ei47jdw2.rcgu.o" "-Wl,--gc-sections" "-no-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps" "-L" "/home/jamie/Misc/serenity-build-test/target/debug/deps" "-L" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-66748378a9d9a394/out/lib" "-L" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/backtrace-sys-ef152de9f365ee7d/out" "-L" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/ring-6b98223915b4bebc/out" "-L" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/libsodium-sys-6911eeb94805a9a7/out/installed/lib" "-L" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libserenity-2fe7f7d543f90df8.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libsodiumoxide-ccca8a49265a3ae0.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liblibsodium_sys-60207a8448be03dd.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand-3af753b86331f379.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_chacha-58b783cc3d8f6e67.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libc2_chacha-56c5c90d09b2c79e.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libppv_lite86-e3534a13088ddcfd.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_core-e8999c965b56bc7c.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libgetrandom-c4ccfa77443e7a0a.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libaudiopus-c341373e6d27d159.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libaudiopus_sys-be19165e65ee5632.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libthreadpool-b81254cebbaa884d.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtypemap-b5817158666aeff7.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libunsafe_any-fa2d2246da3b806c.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtraitobject-122fcb80605054a1.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libbitflags-14b84512f3155e66.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libreqwest-67ab45782cc76f90.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libhyper_rustls-80412acda1c093c6.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libwebpki_roots-f2bc50752f8770e8.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_rustls-f3f50657e29727b4.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librustls-29cb22d7ed145aee.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libwebpki-f52a874d4ffbb795.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libct_logs-406bb0e9634fdb28.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libsct-a3b72c2e784ff106.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libring-5371db7c996a2a76.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libspin-a18cbd985b29015e.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libuntrusted-b9c21c20b3365c61.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libuuid-2140b03c715afd11.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libserde_urlencoded-385db6cd275d53e7.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libdtoa-3ebd3dc3db11884d.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libmime_guess-5d263eccff6775b2.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libunicase-e8b9183adaddb769.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libmime-b95e12389007487f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libhyper-947f2d1b59b58c55.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libwant-dde41f68bb4ffbe3.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtry_lock-0f61c9e8a4d5bfbd.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio-613314fedb9a782b.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_timer-ec049d4f5afcfbe2.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_threadpool-542c201689911aa2.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcrossbeam_queue-f08454f367cc1c90.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcrossbeam_deque-c5ef684ec103cbc6.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcrossbeam_epoch-8cf322adfb21d06f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libmemoffset-99aaef740ba0e7fc.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libarrayvec-70f55d14c580f8dc.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libnodrop-6224b850f6ea17c3.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_tcp-e5daa785f3b2a3df.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_reactor-988dad429852e0d2.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_sync-2b84fab2373d6196.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_current_thread-030c1abba19524d4.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_executor-579003ea4fa3c61d.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcrossbeam_utils-2ad01a96433e61a9.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libmio-c697421624eece8a.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libnet2-8f0c77a0ec3a9980.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libhttp_body-dd62274af23412a3.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_buf-5e071599e70f0280.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libh2-ee77401a400ea103.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libindexmap-abefc4ad60df16e9.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libstring-a427643dc920935a.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libslab-2d92c7cffdf42be5.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtokio_io-9f376d3d5bee78f8.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libfutures_cpupool-e848cc943c5e3cf5.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libnum_cpus-e4abfacf7a5addfd.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libfutures-1d5444d74900fea0.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libencoding_rs-2f45bcbcfd16f433.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcookie_store-b83c0295465a6728.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libpublicsuffix-c4288b3e70a3d331.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libregex-d978730936b292ba.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libthread_local-d68a819a0098f398.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libregex_syntax-284c367993e601bd.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libaho_corasick-eb6ef634faa5d179.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libmemchr-a8c5c5081e09950a.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liblazy_static-71eaa6a70ea4830b.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liberror_chain-e7b755a0d18f8959.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtry_from-655671c2fde3cbe4.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libfailure-a2304091ce1d49a6.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libbacktrace-1bb7f6b5ee5d46f7.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libbacktrace_sys-b74e179a7352650f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librustc_demangle-48f704efd8a559f9.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcookie-530ab9a529106f8f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liburl-1c54b90af71f65db.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libpercent_encoding-11faf5250f5b4982.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libidna-5b6221d557782b9d.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libchrono-7dd25b9bcba661d3.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libnum_integer-37ecd14d080a6628.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libnum_traits-ecf5bc700c67ca2f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtime-d5e7e25c971890bb.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtungstenite-929f9bd07384b13b.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libhttp-c225ff6f103cbd4b.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libfnv-23149e3267bd7fb7.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libutf8-4ad7edf8189cb219.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liburl-036f0e2571ce6d00.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libpercent_encoding-d966fd60741ae44f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libidna-a3e8b59816dbc14a.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libunicode_normalization-8516d2cc58c1f14b.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libunicode_bidi-7b74ae352aceab7f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libmatches-cccbdb2fa5e4f49a.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libsha1-f98601018d1aced4.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libfake_simd-b92181136177c930.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libdigest-a5aa9f7a14677070.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libopaque_debug-2f7149d105f43c01.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libblock_buffer-415330063534b9c1.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libgeneric_array-a655256a2deeb96c.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libtypenum-e18dd442ed07d562.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libblock_padding-a5e4543ff7963f0c.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libbyte_tools-74ac3deebb29e428.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand-dd99dae248763353.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_xorshift-2b85f439f70b3afd.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_pcg-22d66f00ade25d85.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_hc-ed46e3aaafe3ca16.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_chacha-527a60a246f2a203.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_isaac-135caa7072165583.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_core-aa429c51fd20d93f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_os-05a8d4e682619935.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_jitter-d144c64ba9cfb9bc.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/librand_core-e7a6c3eed51e4662.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libinput_buffer-23dc57ce50ee73ee.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libhttparse-978d199fd207e3be.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libbytes-bdefa331854b3fb6.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libeither-d1f8450ace645422.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libiovec-642d8cbea1cdd3ef.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libbase64-4f54cf6e931ac4c5.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libbyteorder-9f110270aaa31532.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liblog-297fd5b965f928c8.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libflate2-265805297a151cc2.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libminiz_oxide-f9da697397c98ca5.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libadler32-38026be2806636b0.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcrc32fast-47e8ef5f76e88fcf.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libparking_lot-d3312a965763f508.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libparking_lot_core-760ec6bbebbca7b2.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liblibc-32954fef17b61274.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libcfg_if-ddee915e468b2182.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libsmallvec-d2aacdde36d48394.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/liblock_api-fa2c733084123719.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libscopeguard-341ad64ea112655a.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libserde_json-a3e68c554709b67f.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libryu-2b888db8d80b222c.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libitoa-31d31a138d8eeb11.rlib" "/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libserde-07ca6169d1fae1a5.rlib" "-Wl,--start-group" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-57030b0ce75e073b.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-1bde76a071fa967f.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-8e33ccf3a09d88a1.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-dd9876ec17609feb.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libbacktrace-ead4064e2c908e8a.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libbacktrace_sys-65b8104fa5c9b551.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-860d3c980e0a707b.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-1abc9950a4adb292.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-39d94a27be851257.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-d04632e9513bbb05.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-f10bafc95f67685f.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-4259d8a4f2b365c6.rlib" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-556d4b174f913867.rlib" "-Wl,--end-group" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-449e8a5a39095721.rlib" "-static" "-Wl,-Bdynamic" "/home/jamie/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/crtn.o"
  = note: /usr/bin/ld: /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libaudiopus_sys-be19165e65ee5632.rlib(celt.o): in function `celt_fatal':
          /usr/include/bits/stdio2.h:100: undefined reference to `__fprintf_chk'
          /usr/bin/ld: /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libaudiopus_sys-be19165e65ee5632.rlib(bands.o): in function `memcpy':
          /usr/include/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'
          /usr/bin/ld: /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libaudiopus_sys-be19165e65ee5632.rlib(PLC.o): in function `memcpy':
          /usr/include/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'
          /usr/bin/ld: /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/deps/libaudiopus_sys-be19165e65ee5632.rlib(decode_core.o): in function `memcpy':
          /usr/include/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: could not compile `serenity-build-test`.

To learn more, run the command again with --verbose.

And if I build in the rust-musl-builder docker container:

error: linking with `cc` failed: exit code: 1                                                                                                                                                                      
  |                                                                                                                                                                                                                
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--eh-frame-hdr" "-m64" "-nostdlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/crt1.o" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/crti.o" "-L" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.0.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.1.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.10.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.11.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.12.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.13.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.14.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.15.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.2.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.3.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.4.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.5.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.6.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.7.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.8.rcgu.o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.pipct_serenity.895um21t-cgu.9.rcgu.o" "-o" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/pipct_serenity-1ac88b86eba0b339.2c7k9iorxsgs53x1.rcgu.o" "-Wl,--gc-sections" "-no-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps" "-L" "/home/rust/src/target/release/deps" "-L" "/home/rust/src/target/x86_64-unknown-linux-musl/release/build/backtrace-sys-6503dff89cc5b522/out" "-L" "/home/rust/src/target/x86_64-unknown-linux-musl/release/build/audiopus_sys-745b9d9a4586a8e5/out/lib" "-L" "/home/rust/src/target/x86_64-unknown-linux-musl/release/build/ring-c0a069c52d9acfd7/out" "-L" "/home/rust/src/target/x86_64-unknown-linux-musl/release/build/libsodium-sys-8085227395f2f0ae/out/installed/lib" "-L" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libenvy-093d795753f3191b.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libenv_logger-bfed85a920061b0b.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtermcolor-9bf05f28675c0d66.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libatty-89530335ea624f8a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libhumantime-c08945dd04a3478c.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libquick_error-217415411bcbc83e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libserenity-d43519aa5d8e7294.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libsodiumoxide-a59182719e580d4a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblibsodium_sys-e11d31384f4a56e9.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand-1d0cb532414869bf.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_chacha-2bbeff7d1fc2ffb9.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libc2_chacha-a86d2a3640881101.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libppv_lite86-e9a65c2ec80c3f34.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_core-487744d42c971781.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libgetrandom-385110390092da2d.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus-d7c88605b0cf2300.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus_sys-ad32205088bc41e0.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libuwl-716b8534ffb0c275.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libthreadpool-f5aea95133a24a3b.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtypemap-cc4938d1c8059692.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libunsafe_any-45ad365b014658d4.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtraitobject-1bbb77431b0982c9.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libbitflags-181af671baafbb8e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libreqwest-3e43d48f6e78e3fd.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libhyper_rustls-b6819dd965e174e2.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libwebpki_roots-3b852d8116f2b82a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_rustls-68c00b0a9b547638.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librustls-a900620d911cb2d7.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libwebpki-64df207c7278d732.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libct_logs-65bfffd63f2a5f2f.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libsct-87d22d7ad0feb4c2.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libring-fab6d1d26d0ecf58.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libspin-4c93deb890ca03e1.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libuntrusted-4ab45350cb24fc5e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libuuid-5902cf4103a08e42.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libserde_urlencoded-23098b0aafbc48de.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libdtoa-8af12b5f4d68bed0.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libmime_guess-640c970bb4ec11e2.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libunicase-f24c5b70d54f968c.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libmime-0fa429c880019363.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libhyper-b753bca3d6c415ae.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libwant-4cd6f52e652a7f2e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtry_lock-1c03a1309ab23426.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio-4490b41dcaa47407.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_timer-7f941faabfd9b1a2.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_threadpool-b0791cf9d85d59ae.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcrossbeam_queue-655e85f49696d81e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcrossbeam_deque-6b87e9c517427142.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcrossbeam_epoch-b44ef0673b93d1ef.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libmemoffset-c0c5470b31be4fcd.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libarrayvec-8f761421e25a29fa.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libnodrop-896f77a50ab1b581.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_tcp-688fc393f639f00a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_reactor-25fd937b0fc0d7e8.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_sync-5d4d021746a68089.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_current_thread-0c28e59fdd1c6c6e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_executor-52ebd3dc0582cead.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcrossbeam_utils-666c08f88f45ffd2.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libmio-ed4216b0230dfb4c.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libnet2-55031d21ea345689.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libhttp_body-a56bf1e6fe626378.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_buf-72b5c43a5c5ab770.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libh2-e89b8b0ed1ee0d1c.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libindexmap-e9497934b942bbf1.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libstring-26449f89109af3e5.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libslab-179da58a6e7b6690.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtokio_io-5bde184ee3264da3.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libfutures_cpupool-7edee813306e469e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libnum_cpus-f0b627d169b8fe1f.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libfutures-0e85a682922850fa.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libencoding_rs-770c9fd6d3459ed6.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcookie_store-5409b1e4d18d269a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libpublicsuffix-e4b228f3c831b7bb.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libregex-bece8143094c52a2.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libthread_local-9f1749ae98a899b3.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libregex_syntax-19eac5326d045764.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaho_corasick-5fd2b73815454d73.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libmemchr-57ad4f2707915974.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblazy_static-ee05bda1344d5e24.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liberror_chain-8bb7a4f4e72f86b7.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtry_from-e20c7c1530fdbca6.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libfailure-b1df57b3fb77ceb9.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libbacktrace-86793429360e8527.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libbacktrace_sys-f5d0da813344e78d.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librustc_demangle-c43e787b73ac530f.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcookie-902d2d4a9ddc4407.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liburl-d35f78853a01e767.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libpercent_encoding-d1c451f7c63dc016.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libidna-a2a46049aca61d29.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libchrono-c50e6a95bbb7fc30.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libnum_integer-d2948d600908f131.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libnum_traits-bb0c78bf2d0cb117.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtime-dd751e62b2bd82be.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtungstenite-e7d42a5b7184a081.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libhttp-5c4bb212f47e88b1.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libfnv-ea4cf62e3f5093da.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libutf8-2c90c8c73b49ee9e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liburl-beed7290c5e43a0e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libpercent_encoding-f4593ce918e1d9fe.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libidna-c8f45ed5227fce57.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libunicode_normalization-bf9605004b18cd57.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libunicode_bidi-6d9204ce5d8892bb.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libmatches-cc0c87778c519b4f.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libsha1-c718ea163bb7fe1f.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libfake_simd-0ade31ee060cbdb5.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libdigest-ac12c0334b17ce39.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libopaque_debug-85169466ef2ddaf7.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libblock_buffer-72f0223821c9a607.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libgeneric_array-b43d74713ac13968.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libtypenum-267d91a2ddf8021d.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libblock_padding-81f81d4d814cbc53.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libbyte_tools-533adf65ba05f3b8.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand-be977cccbcd62f74.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_xorshift-7718218d0a9afbe0.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_pcg-a19449c27cf6d42c.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_hc-d667ed95ecdacaef.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_chacha-f51533313e263aae.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_isaac-accb38359ba72e0f.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_core-08989c3457bbf997.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_os-b33524d0ea8c7ca8.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_jitter-284948d22a2e909d.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/librand_core-aaf2608b9c47e154.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libinput_buffer-a6cfa62e0c592931.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libhttparse-460966dad87232ce.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libbytes-c2151827eb639fe1.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libeither-28c7da35e2a5f41c.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libiovec-77e6066965ad3229.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libbase64-8fdce9932314d4dc.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libbyteorder-218dbc38f2aacff7.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libflate2-efbf6d01ba38374e.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libminiz_oxide-5fcf3182af22d4e4.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libadler32-19b18d377b5e3e5f.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcrc32fast-045b8853423885e9.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libparking_lot-8369f8f828c95735.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libparking_lot_core-1df7460faf2523e0.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblibc-ebcd6c8af5ccc483.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libsmallvec-41a92b835cb6fcfd.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblock_api-598de12a8396b85a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libscopeguard-600bb93b84af58de.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libserde_json-dd210239e321c02a.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libryu-e991d6726f3b2fa2.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libitoa-4f5de07c6ea08e34.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libserde-5436e3e5d9eaa5a6.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/liblog-bc67801ec9b95e14.rlib" "/home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libcfg_if-bd18bef0af7b93ac.rlib" "-Wl,--start-group" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-e396f1d0c01598a4.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-167980ef7fb3dbe1.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libbacktrace-75d75a9578126353.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libbacktrace_sys-911f6c49d34abec3.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-abf6d2ed07e18a6c.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-e7494298a9d64f27.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-43b985138cb31736.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-733035d7b63c7282.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-39522d4f6367013a.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-b2a09311f0187f78.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-fffb87ba755a39cd.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-c21144bcaca5d612.rlib" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-5513b0df82523eb2.rlib" "-Wl,--end-group" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-2d85891f05ca39b2.rlib" "-static" "-Wl,-Bdynamic" "/home/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/crtn.o"                                                                                                                                                                                                       
  = note: /home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus_sys-ad32205088bc41e0.rlib(celt.o): In function `fprintf':                                                                       
          /usr/include/x86_64-linux-gnu/bits/stdio2.h:97: undefined reference to `__fprintf_chk'                                                                                                                   
          /home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus_sys-ad32205088bc41e0.rlib(encode_frame_FLP.o): In function `memcpy':                                                            
          /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'                                                                                                          
          /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'                                                                                                          
          /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'                                                                                                          
          /home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus_sys-ad32205088bc41e0.rlib(pitch_analysis_core_FLP.o): In function `memset':                                                     
          /usr/include/x86_64-linux-gnu/bits/string_fortified.h:71: undefined reference to `__memset_chk'                                                                                                          
          /home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus_sys-ad32205088bc41e0.rlib(bands.o): In function `memcpy':                                                                       
          /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'                                                                                                          
          /home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus_sys-ad32205088bc41e0.rlib(PLC.o): In function `memcpy':                                                                         
          /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'                                                                                                          
          /home/rust/src/target/x86_64-unknown-linux-musl/release/deps/libaudiopus_sys-ad32205088bc41e0.rlib(decode_core.o): In function `memcpy':                                                                 
          /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34: undefined reference to `__memcpy_chk'                                                                                                          
          collect2: error: ld returned 1 exit status                                                                                                                                                               

error: aborting due to previous error                                                                                                                                                                              

error: Could not compile `pipct-serenity`.                                                                                                                                                                         

To learn more, run the command again with --verbose. 

In both cases, it seems like the correct includes are not being set up for cross-compilation. Unfortunately I cannot compile from a musl host, as musl does not support proc macros

Any ideas about how to get this compiling?

JJJollyjim commented 4 years ago

This repo links and uses the library, if you want an example to reproduce: https://github.com/JJJollyjim/serenity-build-test

JJJollyjim commented 4 years ago

Sorry, didn't see the comment about how you have a branch with cross-compiling support! Closing this while I see if I can make that work :)

JJJollyjim commented 4 years ago

Reopening, unfortunately I get the exact same error using that branch.

Lakelezz commented 4 years ago

Please ensure to run cargo clean prior building with the branch. Once you have done that, please share the output audiopus_sys prints. It will explain what linking strategy it picked among other bits of information.

JJJollyjim commented 4 years ago
[audiopus_sys 0.1.5] cargo:info=Static feature or environment variable found.
[audiopus_sys 0.1.5] cargo:info=`pkg_config` could not find `Opus`.
[audiopus_sys 0.1.5] cargo:info=Opus source path: "/home/jamie/.cargo/git/checkouts/audiopus_sys-b971ce021ab22b74/e8fa6ad/opus".
[audiopus_sys 0.1.5] cargo:info=Opus will be built as static-library.
[audiopus_sys 0.1.5] Updating build configuration files, please wait....
[audiopus_sys 0.1.5] libtoolize: putting auxiliary files in '.'.
[audiopus_sys 0.1.5] libtoolize: linking file './ltmain.sh'
[audiopus_sys 0.1.5] libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/libtool.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/ltoptions.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/ltsugar.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/ltversion.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/lt~obsolete.m4'
[audiopus_sys 0.1.5] configure.ac:38: installing './compile'
[audiopus_sys 0.1.5] configure.ac:36: installing './config.guess'
[audiopus_sys 0.1.5] configure.ac:36: installing './config.sub'
[audiopus_sys 0.1.5] configure.ac:33: installing './install-sh'
[audiopus_sys 0.1.5] configure.ac:33: installing './missing'
[audiopus_sys 0.1.5] Makefile.am:310: warning: '%'-style pattern rules are a GNU make extension
[audiopus_sys 0.1.5] Makefile.am:313: warning: '%'-style pattern rules are a GNU make extension
[audiopus_sys 0.1.5] Makefile.am: installing './INSTALL'
[audiopus_sys 0.1.5] Makefile.am: installing './depcomp'
[audiopus_sys 0.1.5] parallel-tests: installing './test-driver'
[audiopus_sys 0.1.5] cargo:info=Host architecture: "x86_64-unknown-linux-gnu".
[audiopus_sys 0.1.5] cargo:info=Target architecture: "x86_64-unknown-linux-musl".
[audiopus_sys 0.1.5] cargo:info=Opus will be cross-compiled for: "x86_64".
[audiopus_sys 0.1.5] checking whether make supports nested variables... yes
[audiopus_sys 0.1.5] checking for a BSD-compatible install... /usr/bin/install -c
[audiopus_sys 0.1.5] checking whether build environment is sane... yes
[audiopus_sys 0.1.5] checking for x86_64-strip... no
[audiopus_sys 0.1.5] checking for strip... strip
[audiopus_sys 0.1.5] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
[audiopus_sys 0.1.5] checking for gawk... gawk
[audiopus_sys 0.1.5] checking whether make sets $(MAKE)... yes
[audiopus_sys 0.1.5] checking whether to enable maintainer-specific portions of Makefiles... yes
[audiopus_sys 0.1.5] checking build system type... x86_64-pc-linux-gnu
[audiopus_sys 0.1.5] checking host system type... x86_64-pc-none
[audiopus_sys 0.1.5] checking how to print strings... printf
[audiopus_sys 0.1.5] checking whether make supports the include directive... yes (GNU style)
[audiopus_sys 0.1.5] checking for x86_64-gcc... no
[audiopus_sys 0.1.5] checking for gcc... gcc
[audiopus_sys 0.1.5] checking whether the C compiler works... yes
[audiopus_sys 0.1.5] checking for C compiler default output file name... a.out
[audiopus_sys 0.1.5] checking for suffix of executables... 
[audiopus_sys 0.1.5] checking whether we are cross compiling... no
[audiopus_sys 0.1.5] checking for suffix of object files... o
[audiopus_sys 0.1.5] checking whether we are using the GNU C compiler... yes
[audiopus_sys 0.1.5] checking whether gcc accepts -g... yes
[audiopus_sys 0.1.5] checking for gcc option to accept ISO C89... none needed
[audiopus_sys 0.1.5] checking whether gcc understands -c and -o together... yes
[audiopus_sys 0.1.5] checking dependency style of gcc... gcc3
[audiopus_sys 0.1.5] checking for a sed that does not truncate output... /usr/bin/sed
[audiopus_sys 0.1.5] checking for grep that handles long lines and -e... /usr/bin/grep
[audiopus_sys 0.1.5] checking for egrep... /usr/bin/grep -E
[audiopus_sys 0.1.5] checking for fgrep... /usr/bin/grep -F
[audiopus_sys 0.1.5] checking for ld used by gcc... /usr/bin/ld
[audiopus_sys 0.1.5] checking if the linker (/usr/bin/ld) is GNU ld... yes
[audiopus_sys 0.1.5] checking for BSD- or MS-compatible name lister (nm)... no
[audiopus_sys 0.1.5] checking for x86_64-dumpbin... no
[audiopus_sys 0.1.5] checking for x86_64-link... no
[audiopus_sys 0.1.5] checking for dumpbin... no
[audiopus_sys 0.1.5] checking for link... link -dump
[audiopus_sys 0.1.5] checking the name lister (nm) interface... BSD nm
[audiopus_sys 0.1.5] checking whether ln -s works... yes
[audiopus_sys 0.1.5] checking the maximum length of command line arguments... 1572864
[audiopus_sys 0.1.5] checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-none format... func_convert_file_noop
[audiopus_sys 0.1.5] checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
[audiopus_sys 0.1.5] checking for /usr/bin/ld option to reload object files... -r
[audiopus_sys 0.1.5] checking for x86_64-objdump... no
[audiopus_sys 0.1.5] checking for objdump... objdump
[audiopus_sys 0.1.5] checking how to recognize dependent libraries... unknown
[audiopus_sys 0.1.5] checking for x86_64-dlltool... no
[audiopus_sys 0.1.5] checking for dlltool... no
[audiopus_sys 0.1.5] checking how to associate runtime and link libraries... printf %s\n
[audiopus_sys 0.1.5] checking for x86_64-ar... no
[audiopus_sys 0.1.5] checking for ar... ar
[audiopus_sys 0.1.5] checking for archiver @FILE support... @
[audiopus_sys 0.1.5] checking for x86_64-strip... strip
[audiopus_sys 0.1.5] checking for x86_64-ranlib... no
[audiopus_sys 0.1.5] checking for ranlib... ranlib
[audiopus_sys 0.1.5] checking command to parse nm output from gcc object... ok
[audiopus_sys 0.1.5] checking for sysroot... no
[audiopus_sys 0.1.5] checking for a working dd... /usr/bin/dd
[audiopus_sys 0.1.5] checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
[audiopus_sys 0.1.5] checking for x86_64-mt... no
[audiopus_sys 0.1.5] checking for mt... no
[audiopus_sys 0.1.5] checking if : is a manifest tool... no
[audiopus_sys 0.1.5] checking how to run the C preprocessor... gcc -E
[audiopus_sys 0.1.5] checking for ANSI C header files... yes
[audiopus_sys 0.1.5] checking for sys/types.h... yes
[audiopus_sys 0.1.5] checking for sys/stat.h... yes
[audiopus_sys 0.1.5] checking for stdlib.h... yes
[audiopus_sys 0.1.5] checking for string.h... yes
[audiopus_sys 0.1.5] checking for memory.h... yes
[audiopus_sys 0.1.5] checking for strings.h... yes
[audiopus_sys 0.1.5] checking for inttypes.h... yes
[audiopus_sys 0.1.5] checking for stdint.h... yes
[audiopus_sys 0.1.5] checking for unistd.h... yes
[audiopus_sys 0.1.5] checking for dlfcn.h... yes
[audiopus_sys 0.1.5] checking for objdir... .libs
[audiopus_sys 0.1.5] checking if gcc supports -fno-rtti -fno-exceptions... no
[audiopus_sys 0.1.5] checking for gcc option to produce PIC... -fPIC -DPIC
[audiopus_sys 0.1.5] checking if gcc PIC flag -fPIC -DPIC works... yes
[audiopus_sys 0.1.5] checking if gcc static flag -static works... yes
[audiopus_sys 0.1.5] checking if gcc supports -c -o file.o... yes
[audiopus_sys 0.1.5] checking if gcc supports -c -o file.o... (cached) yes
[audiopus_sys 0.1.5] checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
[audiopus_sys 0.1.5] checking dynamic linker characteristics... no
[audiopus_sys 0.1.5] checking how to hardcode library paths into programs... immediate
[audiopus_sys 0.1.5] checking whether stripping libraries is possible... yes
[audiopus_sys 0.1.5] checking if libtool supports shared libraries... no
[audiopus_sys 0.1.5] checking whether to build shared libraries... no
[audiopus_sys 0.1.5] checking whether to build static libraries... yes
[audiopus_sys 0.1.5] checking for gcc option to accept ISO C99... none needed
[audiopus_sys 0.1.5] checking for an ANSI C-conforming const... yes
[audiopus_sys 0.1.5] checking for inline... inline
[audiopus_sys 0.1.5] checking dependency style of gcc... gcc3
[audiopus_sys 0.1.5] checking for C/C++ restrict keyword... __restrict
[audiopus_sys 0.1.5] checking for C99 variable-size arrays... yes
[audiopus_sys 0.1.5] checking for cos in -lm... yes
[audiopus_sys 0.1.5] checking if compiler supports SSE intrinsics... yes
[audiopus_sys 0.1.5] checking if compiler supports SSE2 intrinsics... yes
[audiopus_sys 0.1.5] checking if compiler supports SSE4.1 intrinsics... no
[audiopus_sys 0.1.5] checking if compiler supports SSE4.1 intrinsics with -msse4.1... yes
[audiopus_sys 0.1.5] checking if compiler supports AVX intrinsics... no
[audiopus_sys 0.1.5] checking if compiler supports AVX intrinsics with -mavx... yes
[audiopus_sys 0.1.5] checking How to get X86 CPU Info... Inline Assembly
[audiopus_sys 0.1.5] checking if gcc supports -fvisibility=hidden... yes
[audiopus_sys 0.1.5] checking if gcc supports -fstack-protector-strong... yes
[audiopus_sys 0.1.5] checking whether to add -D_FORTIFY_SOURCE=2 to CFLAGS... yes
[audiopus_sys 0.1.5] checking if gcc supports -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes... yes
[audiopus_sys 0.1.5] checking for lrintf... yes
[audiopus_sys 0.1.5] checking for lrint... yes
[audiopus_sys 0.1.5] checking for __malloc_hook... yes
[audiopus_sys 0.1.5] checking that generated files are newer than configure... done
[audiopus_sys 0.1.5] configure: creating ./config.status
[audiopus_sys 0.1.5] config.status: creating Makefile
[audiopus_sys 0.1.5] config.status: creating opus.pc
[audiopus_sys 0.1.5] config.status: creating opus-uninstalled.pc
[audiopus_sys 0.1.5] config.status: creating celt/arm/armopts.s
[audiopus_sys 0.1.5] config.status: creating doc/Makefile
[audiopus_sys 0.1.5] config.status: creating doc/Doxyfile
[audiopus_sys 0.1.5] config.status: creating config.h
[audiopus_sys 0.1.5] config.status: executing depfiles commands
[audiopus_sys 0.1.5] config.status: executing libtool commands
[audiopus_sys 0.1.5] configure:
[audiopus_sys 0.1.5] ------------------------------------------------------------------------
[audiopus_sys 0.1.5]   opus 1.3:  Automatic configuration OK.
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]     Compiler support:
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]       C99 var arrays: ................ yes
[audiopus_sys 0.1.5]       C99 lrintf: .................... yes
[audiopus_sys 0.1.5]       Use alloca: .................... no (using var arrays)
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]     General configuration:
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]       Floating point support: ........ yes
[audiopus_sys 0.1.5]       Fast float approximations: ..... no
[audiopus_sys 0.1.5]       Fixed point debugging: ......... no
[audiopus_sys 0.1.5]       Inline Assembly Optimizations: . No inline ASM for your platform, please send patches
[audiopus_sys 0.1.5]       External Assembly Optimizations: 
[audiopus_sys 0.1.5]       Intrinsics Optimizations: ...... x86 SSE SSE2 SSE4.1 AVX
[audiopus_sys 0.1.5]       Run-time CPU detection: ........ x86 SSE4.1 AVX
[audiopus_sys 0.1.5]       Custom modes: .................. no
[audiopus_sys 0.1.5]       Assertion checking: ............ no
[audiopus_sys 0.1.5]       Hardening: ..................... yes
[audiopus_sys 0.1.5]       Fuzzing: ....................... no
[audiopus_sys 0.1.5]       Check ASM: ..................... no
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]       API documentation: ............. no
[audiopus_sys 0.1.5]       Extra programs: ................ no
[audiopus_sys 0.1.5] ------------------------------------------------------------------------
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]  Type "make; make install" to compile and install
[audiopus_sys 0.1.5]  Type "make check" to run the test suite
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5] make  all-recursive
[audiopus_sys 0.1.5] make[1]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make[2]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5]   CC       celt/bands.lo
[audiopus_sys 0.1.5]   CC       celt/celt.lo
[audiopus_sys 0.1.5]   CC       celt/celt_encoder.lo
[audiopus_sys 0.1.5]   CC       celt/celt_decoder.lo
[audiopus_sys 0.1.5]   CC       celt/cwrs.lo
[audiopus_sys 0.1.5]   CC       celt/entcode.lo
[audiopus_sys 0.1.5]   CC       celt/entdec.lo
[audiopus_sys 0.1.5]   CC       celt/entenc.lo
[audiopus_sys 0.1.5]   CC       celt/kiss_fft.lo
[audiopus_sys 0.1.5]   CC       celt/laplace.lo
[audiopus_sys 0.1.5]   CC       celt/mathops.lo
[audiopus_sys 0.1.5]   CC       celt/mdct.lo
[audiopus_sys 0.1.5]   CC       celt/modes.lo
[audiopus_sys 0.1.5]   CC       celt/pitch.lo
[audiopus_sys 0.1.5]   CC       celt/celt_lpc.lo
[audiopus_sys 0.1.5]   CC       celt/quant_bands.lo
[audiopus_sys 0.1.5]   CC       celt/rate.lo
[audiopus_sys 0.1.5]   CC       celt/vq.lo
[audiopus_sys 0.1.5]   CC       celt/x86/x86cpu.lo
[audiopus_sys 0.1.5]   CC       celt/x86/x86_celt_map.lo
[audiopus_sys 0.1.5]   CC       celt/x86/pitch_sse.lo
[audiopus_sys 0.1.5]   CC       celt/x86/pitch_sse2.lo
[audiopus_sys 0.1.5]   CC       celt/x86/vq_sse2.lo
[audiopus_sys 0.1.5]   CC       celt/x86/celt_lpc_sse4_1.lo
^C
jamie@jamie ~/M/serenity-build-test ❯❯❯ vim output                                                                                                                                                          ✘ 130 
jamie@jamie ~/M/serenity-build-test ❯❯❯ tail -f -n +1 output | grep '^\[audiopus'
[audiopus_sys 0.1.5] cargo:info=Static feature or environment variable found.
[audiopus_sys 0.1.5] cargo:info=`pkg_config` could not find `Opus`.
[audiopus_sys 0.1.5] cargo:info=Opus source path: "/home/jamie/.cargo/git/checkouts/audiopus_sys-b971ce021ab22b74/e8fa6ad/opus".
[audiopus_sys 0.1.5] cargo:info=Opus will be built as static-library.
[audiopus_sys 0.1.5] Updating build configuration files, please wait....
[audiopus_sys 0.1.5] libtoolize: putting auxiliary files in '.'.
[audiopus_sys 0.1.5] libtoolize: linking file './ltmain.sh'
[audiopus_sys 0.1.5] libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/libtool.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/ltoptions.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/ltsugar.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/ltversion.m4'
[audiopus_sys 0.1.5] libtoolize: linking file 'm4/lt~obsolete.m4'
[audiopus_sys 0.1.5] configure.ac:38: installing './compile'
[audiopus_sys 0.1.5] configure.ac:36: installing './config.guess'
[audiopus_sys 0.1.5] configure.ac:36: installing './config.sub'
[audiopus_sys 0.1.5] configure.ac:33: installing './install-sh'
[audiopus_sys 0.1.5] configure.ac:33: installing './missing'
[audiopus_sys 0.1.5] Makefile.am:310: warning: '%'-style pattern rules are a GNU make extension
[audiopus_sys 0.1.5] Makefile.am:313: warning: '%'-style pattern rules are a GNU make extension
[audiopus_sys 0.1.5] Makefile.am: installing './INSTALL'
[audiopus_sys 0.1.5] Makefile.am: installing './depcomp'
[audiopus_sys 0.1.5] parallel-tests: installing './test-driver'
[audiopus_sys 0.1.5] cargo:info=Host architecture: "x86_64-unknown-linux-gnu".
[audiopus_sys 0.1.5] cargo:info=Target architecture: "x86_64-unknown-linux-musl".
[audiopus_sys 0.1.5] cargo:info=Opus will be cross-compiled for: "x86_64".
[audiopus_sys 0.1.5] checking whether make supports nested variables... yes
[audiopus_sys 0.1.5] checking for a BSD-compatible install... /usr/bin/install -c
[audiopus_sys 0.1.5] checking whether build environment is sane... yes
[audiopus_sys 0.1.5] checking for x86_64-strip... no
[audiopus_sys 0.1.5] checking for strip... strip
[audiopus_sys 0.1.5] checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
[audiopus_sys 0.1.5] checking for gawk... gawk
[audiopus_sys 0.1.5] checking whether make sets $(MAKE)... yes
[audiopus_sys 0.1.5] checking whether to enable maintainer-specific portions of Makefiles... yes
[audiopus_sys 0.1.5] checking build system type... x86_64-pc-linux-gnu
[audiopus_sys 0.1.5] checking host system type... x86_64-pc-none
[audiopus_sys 0.1.5] checking how to print strings... printf
[audiopus_sys 0.1.5] checking whether make supports the include directive... yes (GNU style)
[audiopus_sys 0.1.5] checking for x86_64-gcc... no
[audiopus_sys 0.1.5] checking for gcc... gcc
[audiopus_sys 0.1.5] checking whether the C compiler works... yes
[audiopus_sys 0.1.5] checking for C compiler default output file name... a.out
[audiopus_sys 0.1.5] checking for suffix of executables... 
[audiopus_sys 0.1.5] checking whether we are cross compiling... no
[audiopus_sys 0.1.5] checking for suffix of object files... o
[audiopus_sys 0.1.5] checking whether we are using the GNU C compiler... yes
[audiopus_sys 0.1.5] checking whether gcc accepts -g... yes
[audiopus_sys 0.1.5] checking for gcc option to accept ISO C89... none needed
[audiopus_sys 0.1.5] checking whether gcc understands -c and -o together... yes
[audiopus_sys 0.1.5] checking dependency style of gcc... gcc3
[audiopus_sys 0.1.5] checking for a sed that does not truncate output... /usr/bin/sed
[audiopus_sys 0.1.5] checking for grep that handles long lines and -e... /usr/bin/grep
[audiopus_sys 0.1.5] checking for egrep... /usr/bin/grep -E
[audiopus_sys 0.1.5] checking for fgrep... /usr/bin/grep -F
[audiopus_sys 0.1.5] checking for ld used by gcc... /usr/bin/ld
[audiopus_sys 0.1.5] checking if the linker (/usr/bin/ld) is GNU ld... yes
[audiopus_sys 0.1.5] checking for BSD- or MS-compatible name lister (nm)... no
[audiopus_sys 0.1.5] checking for x86_64-dumpbin... no
[audiopus_sys 0.1.5] checking for x86_64-link... no
[audiopus_sys 0.1.5] checking for dumpbin... no
[audiopus_sys 0.1.5] checking for link... link -dump
[audiopus_sys 0.1.5] checking the name lister (nm) interface... BSD nm
[audiopus_sys 0.1.5] checking whether ln -s works... yes
[audiopus_sys 0.1.5] checking the maximum length of command line arguments... 1572864
[audiopus_sys 0.1.5] checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-none format... func_convert_file_noop
[audiopus_sys 0.1.5] checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
[audiopus_sys 0.1.5] checking for /usr/bin/ld option to reload object files... -r
[audiopus_sys 0.1.5] checking for x86_64-objdump... no
[audiopus_sys 0.1.5] checking for objdump... objdump
[audiopus_sys 0.1.5] checking how to recognize dependent libraries... unknown
[audiopus_sys 0.1.5] checking for x86_64-dlltool... no
[audiopus_sys 0.1.5] checking for dlltool... no
[audiopus_sys 0.1.5] checking how to associate runtime and link libraries... printf %s\n
[audiopus_sys 0.1.5] checking for x86_64-ar... no
[audiopus_sys 0.1.5] checking for ar... ar
[audiopus_sys 0.1.5] checking for archiver @FILE support... @
[audiopus_sys 0.1.5] checking for x86_64-strip... strip
[audiopus_sys 0.1.5] checking for x86_64-ranlib... no
[audiopus_sys 0.1.5] checking for ranlib... ranlib
[audiopus_sys 0.1.5] checking command to parse nm output from gcc object... ok
[audiopus_sys 0.1.5] checking for sysroot... no
[audiopus_sys 0.1.5] checking for a working dd... /usr/bin/dd
[audiopus_sys 0.1.5] checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
[audiopus_sys 0.1.5] checking for x86_64-mt... no
[audiopus_sys 0.1.5] checking for mt... no
[audiopus_sys 0.1.5] checking if : is a manifest tool... no
[audiopus_sys 0.1.5] checking how to run the C preprocessor... gcc -E
[audiopus_sys 0.1.5] checking for ANSI C header files... yes
[audiopus_sys 0.1.5] checking for sys/types.h... yes
[audiopus_sys 0.1.5] checking for sys/stat.h... yes
[audiopus_sys 0.1.5] checking for stdlib.h... yes
[audiopus_sys 0.1.5] checking for string.h... yes
[audiopus_sys 0.1.5] checking for memory.h... yes
[audiopus_sys 0.1.5] checking for strings.h... yes
[audiopus_sys 0.1.5] checking for inttypes.h... yes
[audiopus_sys 0.1.5] checking for stdint.h... yes
[audiopus_sys 0.1.5] checking for unistd.h... yes
[audiopus_sys 0.1.5] checking for dlfcn.h... yes
[audiopus_sys 0.1.5] checking for objdir... .libs
[audiopus_sys 0.1.5] checking if gcc supports -fno-rtti -fno-exceptions... no
[audiopus_sys 0.1.5] checking for gcc option to produce PIC... -fPIC -DPIC
[audiopus_sys 0.1.5] checking if gcc PIC flag -fPIC -DPIC works... yes
[audiopus_sys 0.1.5] checking if gcc static flag -static works... yes
[audiopus_sys 0.1.5] checking if gcc supports -c -o file.o... yes
[audiopus_sys 0.1.5] checking if gcc supports -c -o file.o... (cached) yes
[audiopus_sys 0.1.5] checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
[audiopus_sys 0.1.5] checking dynamic linker characteristics... no
[audiopus_sys 0.1.5] checking how to hardcode library paths into programs... immediate
[audiopus_sys 0.1.5] checking whether stripping libraries is possible... yes
[audiopus_sys 0.1.5] checking if libtool supports shared libraries... no
[audiopus_sys 0.1.5] checking whether to build shared libraries... no
[audiopus_sys 0.1.5] checking whether to build static libraries... yes
[audiopus_sys 0.1.5] checking for gcc option to accept ISO C99... none needed
[audiopus_sys 0.1.5] checking for an ANSI C-conforming const... yes
[audiopus_sys 0.1.5] checking for inline... inline
[audiopus_sys 0.1.5] checking dependency style of gcc... gcc3
[audiopus_sys 0.1.5] checking for C/C++ restrict keyword... __restrict
[audiopus_sys 0.1.5] checking for C99 variable-size arrays... yes
[audiopus_sys 0.1.5] checking for cos in -lm... yes
[audiopus_sys 0.1.5] checking if compiler supports SSE intrinsics... yes
[audiopus_sys 0.1.5] checking if compiler supports SSE2 intrinsics... yes
[audiopus_sys 0.1.5] checking if compiler supports SSE4.1 intrinsics... no
[audiopus_sys 0.1.5] checking if compiler supports SSE4.1 intrinsics with -msse4.1... yes
[audiopus_sys 0.1.5] checking if compiler supports AVX intrinsics... no
[audiopus_sys 0.1.5] checking if compiler supports AVX intrinsics with -mavx... yes
[audiopus_sys 0.1.5] checking How to get X86 CPU Info... Inline Assembly
[audiopus_sys 0.1.5] checking if gcc supports -fvisibility=hidden... yes
[audiopus_sys 0.1.5] checking if gcc supports -fstack-protector-strong... yes
[audiopus_sys 0.1.5] checking whether to add -D_FORTIFY_SOURCE=2 to CFLAGS... yes
[audiopus_sys 0.1.5] checking if gcc supports -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes... yes
[audiopus_sys 0.1.5] checking for lrintf... yes
[audiopus_sys 0.1.5] checking for lrint... yes
[audiopus_sys 0.1.5] checking for __malloc_hook... yes
[audiopus_sys 0.1.5] checking that generated files are newer than configure... done
[audiopus_sys 0.1.5] configure: creating ./config.status
[audiopus_sys 0.1.5] config.status: creating Makefile
[audiopus_sys 0.1.5] config.status: creating opus.pc
[audiopus_sys 0.1.5] config.status: creating opus-uninstalled.pc
[audiopus_sys 0.1.5] config.status: creating celt/arm/armopts.s
[audiopus_sys 0.1.5] config.status: creating doc/Makefile
[audiopus_sys 0.1.5] config.status: creating doc/Doxyfile
[audiopus_sys 0.1.5] config.status: creating config.h
[audiopus_sys 0.1.5] config.status: executing depfiles commands
[audiopus_sys 0.1.5] config.status: executing libtool commands
[audiopus_sys 0.1.5] configure:
[audiopus_sys 0.1.5] ------------------------------------------------------------------------
[audiopus_sys 0.1.5]   opus 1.3:  Automatic configuration OK.
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]     Compiler support:
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]       C99 var arrays: ................ yes
[audiopus_sys 0.1.5]       C99 lrintf: .................... yes
[audiopus_sys 0.1.5]       Use alloca: .................... no (using var arrays)
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]     General configuration:
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]       Floating point support: ........ yes
[audiopus_sys 0.1.5]       Fast float approximations: ..... no
[audiopus_sys 0.1.5]       Fixed point debugging: ......... no
[audiopus_sys 0.1.5]       Inline Assembly Optimizations: . No inline ASM for your platform, please send patches
[audiopus_sys 0.1.5]       External Assembly Optimizations: 
[audiopus_sys 0.1.5]       Intrinsics Optimizations: ...... x86 SSE SSE2 SSE4.1 AVX
[audiopus_sys 0.1.5]       Run-time CPU detection: ........ x86 SSE4.1 AVX
[audiopus_sys 0.1.5]       Custom modes: .................. no
[audiopus_sys 0.1.5]       Assertion checking: ............ no
[audiopus_sys 0.1.5]       Hardening: ..................... yes
[audiopus_sys 0.1.5]       Fuzzing: ....................... no
[audiopus_sys 0.1.5]       Check ASM: ..................... no
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]       API documentation: ............. no
[audiopus_sys 0.1.5]       Extra programs: ................ no
[audiopus_sys 0.1.5] ------------------------------------------------------------------------
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5]  Type "make; make install" to compile and install
[audiopus_sys 0.1.5]  Type "make check" to run the test suite
[audiopus_sys 0.1.5] 
[audiopus_sys 0.1.5] make  all-recursive
[audiopus_sys 0.1.5] make[1]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make[2]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5]   CC       celt/bands.lo
[audiopus_sys 0.1.5]   CC       celt/celt.lo
[audiopus_sys 0.1.5]   CC       celt/celt_encoder.lo
[audiopus_sys 0.1.5]   CC       celt/celt_decoder.lo
[audiopus_sys 0.1.5]   CC       celt/cwrs.lo
[audiopus_sys 0.1.5]   CC       celt/entcode.lo
[audiopus_sys 0.1.5]   CC       celt/entdec.lo
[audiopus_sys 0.1.5]   CC       celt/entenc.lo
[audiopus_sys 0.1.5]   CC       celt/kiss_fft.lo
[audiopus_sys 0.1.5]   CC       celt/laplace.lo
[audiopus_sys 0.1.5]   CC       celt/mathops.lo
[audiopus_sys 0.1.5]   CC       celt/mdct.lo
[audiopus_sys 0.1.5]   CC       celt/modes.lo
[audiopus_sys 0.1.5]   CC       celt/pitch.lo
[audiopus_sys 0.1.5]   CC       celt/celt_lpc.lo
[audiopus_sys 0.1.5]   CC       celt/quant_bands.lo
[audiopus_sys 0.1.5]   CC       celt/rate.lo
[audiopus_sys 0.1.5]   CC       celt/vq.lo
[audiopus_sys 0.1.5]   CC       celt/x86/x86cpu.lo
[audiopus_sys 0.1.5]   CC       celt/x86/x86_celt_map.lo
[audiopus_sys 0.1.5]   CC       celt/x86/pitch_sse.lo
[audiopus_sys 0.1.5]   CC       celt/x86/pitch_sse2.lo
[audiopus_sys 0.1.5]   CC       celt/x86/vq_sse2.lo
[audiopus_sys 0.1.5]   CC       celt/x86/celt_lpc_sse4_1.lo
[audiopus_sys 0.1.5]   CC       celt/x86/pitch_sse4_1.lo
[audiopus_sys 0.1.5]   CC       silk/CNG.lo
[audiopus_sys 0.1.5]   CC       silk/code_signs.lo
[audiopus_sys 0.1.5]   CC       silk/init_decoder.lo
[audiopus_sys 0.1.5]   CC       silk/decode_core.lo
[audiopus_sys 0.1.5]   CC       silk/decode_frame.lo
[audiopus_sys 0.1.5]   CC       silk/decode_parameters.lo
[audiopus_sys 0.1.5]   CC       silk/decode_indices.lo
[audiopus_sys 0.1.5]   CC       silk/decode_pulses.lo
[audiopus_sys 0.1.5]   CC       silk/decoder_set_fs.lo
[audiopus_sys 0.1.5]   CC       silk/dec_API.lo
[audiopus_sys 0.1.5]   CC       silk/enc_API.lo
[audiopus_sys 0.1.5]   CC       silk/encode_indices.lo
[audiopus_sys 0.1.5]   CC       silk/encode_pulses.lo
[audiopus_sys 0.1.5]   CC       silk/gain_quant.lo
[audiopus_sys 0.1.5]   CC       silk/interpolate.lo
[audiopus_sys 0.1.5]   CC       silk/LP_variable_cutoff.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF_decode.lo
[audiopus_sys 0.1.5]   CC       silk/NSQ.lo
[audiopus_sys 0.1.5]   CC       silk/NSQ_del_dec.lo
[audiopus_sys 0.1.5]   CC       silk/PLC.lo
[audiopus_sys 0.1.5]   CC       silk/shell_coder.lo
[audiopus_sys 0.1.5]   CC       silk/tables_gain.lo
[audiopus_sys 0.1.5]   CC       silk/tables_LTP.lo
[audiopus_sys 0.1.5]   CC       silk/tables_NLSF_CB_NB_MB.lo
[audiopus_sys 0.1.5]   CC       silk/tables_NLSF_CB_WB.lo
[audiopus_sys 0.1.5]   CC       silk/tables_other.lo
[audiopus_sys 0.1.5]   CC       silk/tables_pitch_lag.lo
[audiopus_sys 0.1.5]   CC       silk/tables_pulses_per_block.lo
[audiopus_sys 0.1.5]   CC       silk/VAD.lo
[audiopus_sys 0.1.5]   CC       silk/control_audio_bandwidth.lo
[audiopus_sys 0.1.5]   CC       silk/quant_LTP_gains.lo
[audiopus_sys 0.1.5]   CC       silk/VQ_WMat_EC.lo
[audiopus_sys 0.1.5]   CC       silk/HP_variable_cutoff.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF_encode.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF_VQ.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF_unpack.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF_del_dec_quant.lo
[audiopus_sys 0.1.5]   CC       silk/process_NLSFs.lo
[audiopus_sys 0.1.5]   CC       silk/stereo_LR_to_MS.lo
[audiopus_sys 0.1.5]   CC       silk/stereo_MS_to_LR.lo
[audiopus_sys 0.1.5]   CC       silk/check_control_input.lo
[audiopus_sys 0.1.5]   CC       silk/control_SNR.lo
[audiopus_sys 0.1.5]   CC       silk/init_encoder.lo
[audiopus_sys 0.1.5]   CC       silk/control_codec.lo
[audiopus_sys 0.1.5]   CC       silk/A2NLSF.lo
[audiopus_sys 0.1.5]   CC       silk/ana_filt_bank_1.lo
[audiopus_sys 0.1.5]   CC       silk/biquad_alt.lo
[audiopus_sys 0.1.5]   CC       silk/bwexpander_32.lo
[audiopus_sys 0.1.5]   CC       silk/bwexpander.lo
[audiopus_sys 0.1.5]   CC       silk/debug.lo
[audiopus_sys 0.1.5]   CC       silk/decode_pitch.lo
[audiopus_sys 0.1.5]   CC       silk/inner_prod_aligned.lo
[audiopus_sys 0.1.5]   CC       silk/lin2log.lo
[audiopus_sys 0.1.5]   CC       silk/log2lin.lo
[audiopus_sys 0.1.5]   CC       silk/LPC_analysis_filter.lo
[audiopus_sys 0.1.5]   CC       silk/LPC_inv_pred_gain.lo
[audiopus_sys 0.1.5]   CC       silk/table_LSF_cos.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF2A.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF_stabilize.lo
[audiopus_sys 0.1.5]   CC       silk/NLSF_VQ_weights_laroia.lo
[audiopus_sys 0.1.5]   CC       silk/pitch_est_tables.lo
[audiopus_sys 0.1.5]   CC       silk/resampler.lo
[audiopus_sys 0.1.5]   CC       silk/resampler_down2_3.lo
[audiopus_sys 0.1.5]   CC       silk/resampler_down2.lo
[audiopus_sys 0.1.5]   CC       silk/resampler_private_AR2.lo
[audiopus_sys 0.1.5]   CC       silk/resampler_private_down_FIR.lo
[audiopus_sys 0.1.5]   CC       silk/resampler_private_IIR_FIR.lo
[audiopus_sys 0.1.5]   CC       silk/resampler_private_up2_HQ.lo
[audiopus_sys 0.1.5]   CC       silk/resampler_rom.lo
[audiopus_sys 0.1.5]   CC       silk/sigm_Q15.lo
[audiopus_sys 0.1.5]   CC       silk/sort.lo
[audiopus_sys 0.1.5]   CC       silk/sum_sqr_shift.lo
[audiopus_sys 0.1.5]   CC       silk/stereo_decode_pred.lo
[audiopus_sys 0.1.5]   CC       silk/stereo_encode_pred.lo
[audiopus_sys 0.1.5]   CC       silk/stereo_find_predictor.lo
[audiopus_sys 0.1.5]   CC       silk/stereo_quant_pred.lo
[audiopus_sys 0.1.5]   CC       silk/LPC_fit.lo
[audiopus_sys 0.1.5]   CC       silk/float/apply_sine_window_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/corrMatrix_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/encode_frame_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/find_LPC_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/find_LTP_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/find_pitch_lags_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/find_pred_coefs_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/LPC_analysis_filter_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/LTP_analysis_filter_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/LTP_scale_ctrl_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/noise_shape_analysis_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/process_gains_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/regularize_correlations_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/residual_energy_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/warped_autocorrelation_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/wrappers_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/autocorrelation_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/burg_modified_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/bwexpander_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/energy_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/inner_product_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/k2a_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/LPC_inv_pred_gain_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/pitch_analysis_core_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/scale_copy_vector_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/scale_vector_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/schur_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/float/sort_FLP.lo
[audiopus_sys 0.1.5]   CC       silk/x86/NSQ_sse4_1.lo
[audiopus_sys 0.1.5]   CC       silk/x86/NSQ_del_dec_sse4_1.lo
[audiopus_sys 0.1.5]   CC       silk/x86/x86_silk_map.lo
[audiopus_sys 0.1.5]   CC       silk/x86/VAD_sse4_1.lo
[audiopus_sys 0.1.5]   CC       silk/x86/VQ_WMat_EC_sse4_1.lo
[audiopus_sys 0.1.5]   CC       src/opus.lo
[audiopus_sys 0.1.5]   CC       src/opus_decoder.lo
[audiopus_sys 0.1.5]   CC       src/opus_encoder.lo
[audiopus_sys 0.1.5]   CC       src/opus_multistream.lo
[audiopus_sys 0.1.5]   CC       src/opus_multistream_encoder.lo
[audiopus_sys 0.1.5]   CC       src/opus_multistream_decoder.lo
[audiopus_sys 0.1.5]   CC       src/repacketizer.lo
[audiopus_sys 0.1.5]   CC       src/opus_projection_encoder.lo
[audiopus_sys 0.1.5]   CC       src/opus_projection_decoder.lo
[audiopus_sys 0.1.5]   CC       src/mapping_matrix.lo
[audiopus_sys 0.1.5]   CC       src/analysis.lo
[audiopus_sys 0.1.5]   CC       src/mlp.lo
[audiopus_sys 0.1.5]   CC       src/mlp_data.lo
[audiopus_sys 0.1.5]   CCLD     libopus.la
[audiopus_sys 0.1.5] make[3]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5] make[3]: Nothing to be done for 'all'.
[audiopus_sys 0.1.5] make[3]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5] make[2]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make[1]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make  install-recursive
[audiopus_sys 0.1.5] make[1]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make[2]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make[3]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5] make[3]: Nothing to be done for 'all'.
[audiopus_sys 0.1.5] make[3]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5] make[3]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5]  /usr/bin/mkdir -p '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib'
[audiopus_sys 0.1.5]  /bin/sh ./libtool   --mode=install /usr/bin/install -c   libopus.la '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib'
[audiopus_sys 0.1.5] libtool: install: /usr/bin/install -c .libs/libopus.lai /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib/libopus.la
[audiopus_sys 0.1.5] libtool: install: /usr/bin/install -c .libs/libopus.a /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib/libopus.a
[audiopus_sys 0.1.5] libtool: install: chmod 644 /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib/libopus.a
[audiopus_sys 0.1.5] libtool: install: ranlib /home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib/libopus.a
[audiopus_sys 0.1.5] make[4]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5] make[5]: Entering directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5] make[5]: Nothing to be done for 'install-exec-am'.
[audiopus_sys 0.1.5] make[5]: Nothing to be done for 'install-data-am'.
[audiopus_sys 0.1.5] make[5]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5] make[4]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus/doc'
[audiopus_sys 0.1.5]  /usr/bin/mkdir -p '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/share/aclocal'
[audiopus_sys 0.1.5]  /usr/bin/install -c -m 644 opus.m4 '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/share/aclocal'
[audiopus_sys 0.1.5]  /usr/bin/mkdir -p '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib/pkgconfig'
[audiopus_sys 0.1.5]  /usr/bin/install -c -m 644 opus.pc '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib/pkgconfig'
[audiopus_sys 0.1.5]  /usr/bin/mkdir -p '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/include/opus'
[audiopus_sys 0.1.5]  /usr/bin/install -c -m 644 include/opus.h include/opus_multistream.h include/opus_types.h include/opus_defines.h include/opus_projection.h '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/include/opus'
[audiopus_sys 0.1.5] make[3]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make[2]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] make[1]: Leaving directory '/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/opus'
[audiopus_sys 0.1.5] cargo:rustc-link-lib=static=opus
[audiopus_sys 0.1.5] cargo:rustc-link-search=native=/home/jamie/Misc/serenity-build-test/target/x86_64-unknown-linux-musl/debug/build/audiopus_sys-0629acddd2cf71cd/out/lib
JJJollyjim commented 4 years ago

It looks to me like the build script is emitting the correct linking instructions for cargo, but is building libopus with native (glibc) rather than target (mus) libc header files, hence the link failures at the end of the process.

JJJollyjim commented 4 years ago

It looks like CARGO_CFG_TARGET_ARCH, which is simply x86_64 is being passed in to remove_vendor. Did you mean to pass in TARGET?

JJJollyjim commented 4 years ago

Even if I specify what I believe is a correct target triple in --host, ./configure seems to completely ignore it and set CC=gcc in the Makefile, rather than CC=musl-gcc

Lakelezz commented 3 years ago

Can you try the breaking_changes-branch: 70671b4f0ee6fb37994bd9a86736b887a0445e12? It may fix this very problem.

Lakelezz commented 3 years ago

Resolved.