mozilla / cubeb-rs

ISC License
61 stars 19 forks source link

Reflect resampler ABI change, bump version #62

Closed padenot closed 2 years ago

padenot commented 2 years ago

libcubeb changes in https://github.com/mozilla/cubeb/pull/690

This will need a change to the submodule in cubeb-sys probably?

padenot commented 2 years ago

Even when bumping cubeb-sys, build fails, because _speex_resampler_* symbols aren't found, probably aren't linked, in systest.

repositories/cubeb-rs::22643799$ cargo build
   Compiling cubeb-core v0.9.0 (/Users/padenot/src/repositories/cubeb-rs/cubeb-core)
   Compiling systest v0.1.0 (/Users/padenot/src/repositories/cubeb-rs/systest)
   Compiling cubeb v0.9.0 (/Users/padenot/src/repositories/cubeb-rs/cubeb-api)
   Compiling cubeb-backend v0.9.0 (/Users/padenot/src/repositories/cubeb-rs/cubeb-backend)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "-arch" "x86_64" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.170ijbxl5a1em4mh.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.17ze59yhx3wlrr6s.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.1u40oxox6j0ea062.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.24sbewndkkintmws.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.2735sb930sfkuhdb.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.29cvz1u0l5omdec6.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.2chxrppohcqg84vh.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.2dclcgh756fjvg1n.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.2lablbs8exzh6xei.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.2ld1qwc6xy7nkj05.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.2o0j04z7fkidkvu7.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3alvai68wp3nb6m3.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3bbvv4ys8n3aeqtb.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3bck2ngktpuvjihr.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3hkb6izpyrv6eokz.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3spsxp1dulyiz7q8.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3tov6i5324g927ni.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3tpfzokk3suc1cmg.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.3zfe7bykpty6rw2w.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.41jyy8ltease5wec.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.43ssk7kfbma3pzio.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.44jmm4hr71k2jzqr.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.45ueyba2jkw5ii0d.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.45zwlys9uvme9cg8.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4779y1fg1wpk17gh.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4auma5tg2q7xljrh.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4enisyipbxc13pwd.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4hjtr841f2gxxqoy.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4lk0led1pwqvmaj5.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4lnza0a5xh8deocb.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4miehu4f120wzzd2.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4p61mhbicrv7ce5.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4qndyzcadlxs9bnz.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4r7yltz6zdqtcpx9.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.4u492z4xymglm3cv.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.52xaih8zd61nqy1e.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.54iofzg6lp4ym1qf.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.5cumd9x45dewydhh.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.5dwvclcnb6oh3xdv.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.77jtrrsfdb85xib.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.7mgif9bhsmc4dl1.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.7mv2v0v9072yefo.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.drh8349aa3swpqg.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.hc1u6icjkdvxu3y.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.iemzpbh27mhqn6y.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.krdh02w4ywgo0k8.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.skrlv13esnsvrz3.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.u2p1zixxqtpride.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.v3vmw42gbkxoaa5.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.v59iay1xvkl3vd0.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.x3uonb5r1oxr4su.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.yp7yq7g22ee6cgq.rcgu.o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690.196pcx9xcpavzpl2.rcgu.o" "-L" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps" "-L" "/Users/padenot/src/repositories/cubeb-rs/target/debug/build/systest-615ccf64f247d76a/out" "-L" "/Users/padenot/src/repositories/cubeb-rs/target/debug/build/cubeb-sys-8ba566c0b0656197/out/lib" "-L" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-force_load" "-Wl,/Users/padenot/src/repositories/cubeb-rs/target/debug/build/systest-615ccf64f247d76a/out/liball.a" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/liblibc-f55dca036ef7c309.rlib" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-dd8a82589e0cba34.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-8c04c8bd0d1a8900.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libobject-c6a4ae86ed2c40d0.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-f9ab4d1b2e38b05e.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-002c7b677ad6c512.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libgimli-a3f3d9f86c37973f.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-8b14bcf2354140fd.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-d6f2fd91ec8bbbcc.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-24c80e37fb5b15c5.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-edb9b11fa36b4795.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-769780536fb7ef9b.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-d37c37a3a3ac2b0c.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-c1bdc4c1f89760ef.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-750380e9c94de9ce.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-1108e622f5a15c3d.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-43af7053e70b1eed.rlib" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-3a81ebf6a3abbdee.rlib" "-framework" "AudioUnit" "-framework" "CoreAudio" "-framework" "CoreServices" "-lc++" "-lSystem" "-lresolv" "-lc" "-lm" "-liconv" "-L" "/Users/padenot/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/systest-ec01afb1b065e690" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: ld: warning: object file (/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib(cubeb_mixer.cpp.o)) was built for newer macOS version (11.6) than being linked (11.0)
          ld: warning: object file (/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib(cubeb.c.o)) was built for newer macOS version (11.6) than being linked (11.0)
          ld: warning: object file (/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)) was built for newer macOS version (11.6) than being linked (11.0)
          ld: warning: object file (/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib(cubeb_audiounit.cpp.o)) was built for newer macOS version (11.6) than being linked (11.0)
          ld: warning: object file (/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib(cubeb_log.cpp.o)) was built for newer macOS version (11.6) than being linked (11.0)
          ld: warning: object file (/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib(cubeb_utils.cpp.o)) was built for newer macOS version (11.6) than being linked (11.0)
          ld: warning: object file (/Users/padenot/src/repositories/cubeb-rs/target/debug/deps/libcubeb_sys-a06264c3562f0e00.rlib(cubeb_osx_run_loop.cpp.o)) was built for newer macOS version (11.6) than being linked (11.0)
          Undefined symbols for architecture x86_64:
            "_speex_resampler_process_interleaved_float", referenced from:
                cubeb_resampler_speex_one_way::speex_resample(float*, unsigned int*, float*, unsigned int*) in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
            "_speex_resampler_destroy", referenced from:
                cubeb_resampler_speex_one_way::~cubeb_resampler_speex_one_way() in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
                cubeb_resampler_speex_one_way::~cubeb_resampler_speex_one_way() in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
            "_speex_resampler_init", referenced from:
                cubeb_resampler_speex_one_way::cubeb_resampler_speex_one_way(unsigned int, unsigned int, unsigned int, int) in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
                cubeb_resampler_speex_one_way::cubeb_resampler_speex_one_way(unsigned int, unsigned int, unsigned int, int) in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
            "_speex_resampler_process_interleaved_int", referenced from:
                cubeb_resampler_speex_one_way::speex_resample(short*, unsigned int*, short*, unsigned int*) in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
            "_speex_resampler_get_input_latency", referenced from:
                cubeb_resampler_speex_one_way::cubeb_resampler_speex_one_way(unsigned int, unsigned int, unsigned int, int) in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
                cubeb_resampler_speex_one_way::cubeb_resampler_speex_one_way(unsigned int, unsigned int, unsigned int, int) in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
            "_speex_resampler_get_output_latency", referenced from:
                cubeb_resampler_speex_one_way::latency() const in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
                cubeb_resampler_speex_one_way::latency() const in libcubeb_sys-a06264c3562f0e00.rlib(cubeb_resampler.cpp.o)
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: could not compile `systest` due to previous error
padenot commented 2 years ago

I'm merging this because it's blocking too much other things that are important.

There is a new clippy error in Nightly, filed as https://github.com/mozilla/cubeb-rs/issues/64:

error: using `self` as `Display` in `impl Display` will cause infinite recursion
   --> cubeb-core/src/error.rs:104:9
    |
104 |         write!(f, "{}", self)
    |         ^^^^^^^^^^^^^^^^^^^^^
    |
    = note: `#[deny(clippy::recursive_format_impl)]` on by default
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#recursive_format_impl
    = note: this error originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)
padenot commented 2 years ago

ffs I didn't end up pushing the right changes.