Hi! I'm currently trying to create a safe wrapper around cavacore.c
from cava but I'm hitting a wall with no idea how to fix that.
cargo build
works but if I run cargo test
(which tries to use my crate) I'm getting the following error message:
Compiling cava-rs v0.1.0 (/home/tornax/projects/cava-rs)
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/nix/store/zqqb83ss2cf2xl8n57gc89g95273xbkr-rust-default-1.84.0/lib/rustlib/x86_64-unknown-linux-gnu/bin:/nix/store/h68aciha2gnfp8l9n7krx5c81r0bkfck-toolbox-0.0.99.3/bin:/nix/store/591apldfgm1gr238rbfc8ib0y1z8ng2y-gcc-wrapper-14-20241116/bin:/nix/store/gnf3mv68i5g6jmabnbbncsar3kbg13zd-gcc-14-20241116/bin:/nix/store/a17b952gdq8g179vymqxmjah0ylgwd64-glibc-2.40-36-bin/bin:/nix/store/pw26z7msfmv291jq1qpp8bbaprs5hkfk-coreutils-9.5/bin:/nix/store/xxwkjlfikd5q8nnpyysnx4dla8r54w56-binutils-wrapper-2.43.1/bin:/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin:/nix/store/cs2g5k963v8vvqvhsnmra9j3n0rp9cm6-clang-wrapper-19.1.6/bin:/nix/store/2d1r5kvz7plg24bwb316972knqmiyf2p-clang-19.1.6/bin:/nix/store/ymildcka4gwnhs34lkxbjdrpdx98dwns-binutils-wrapper-2.43.1/bin:/nix/store/zqqb83ss2cf2xl8n57gc89g95273xbkr-rust-default-1.84.0/bin:/nix/store/4r7a0a7mgwma0qm440f1zlhgb47hqx6i-auditable-cargo-1.83.0/bin:/nix/store/a9n2kybksza6sn71qwqc6ac781gk9g7v-cargo-1.83.0/bin:/nix/store/f10frz81pb9j2bxx3vc394cgq0y9dnyd-rustc-wrapper-1.83.0/bin:/nix/store/bl9vwzyawyad6ldhvnnp28drzjm7q0v9-patchelf-0.15.0/bin:/nix/store/pw26z7msfmv291jq1qpp8bbaprs5hkfk-coreutils-9.5/bin:/nix/store/pvl69q0l5fiiblvsqz3l424617b7lw89-findutils-4.10.0/bin:/nix/store/nyqfk1jvmg3dzbp0n89x7957m3qh4ks4-diffutils-3.10/bin:/nix/store/v93bdqf52x2r2lqijv0f7x3yhylwy957-gnused-4.9/bin:/nix/store/01dri6m7g4bx0kkd39pkgfpzpj3i7y86-gnugrep-3.11/bin:/nix/store/2yvf4zm225q75mkma7914f4k7i0srfmg-gawk-5.3.1/bin:/nix/store/s6zpdhyi00867afvsyg8hf54q5llkffl-gnutar-1.35/bin:/nix/store/3ixlnrilky99c34xw3w69xyx54iahwcr-gzip-1.13/bin:/nix/store/j2w0ksqpakrb7rsdnhkid5r1wxs1p79i-bzip2-1.0.8-bin/bin:/nix/store/0lrk3s24y2l74zagz13mv0n7yp8zbqzg-gnumake-4.4.1/bin:/nix/store/4fvc5fm8bszmkydng1ivrvr5cbvr1g60-bash-5.2p37/bin:/nix/store/78z7sr6w7jv856axivb9fxwivklvaivf-patch-2.7.6/bin:/nix/store/2818caib67ysbakmx87qwq4dbffln9g8-xz-5.6.3-bin/bin:/nix/store/qh8jxbp98py266w8555hx4y9qpxfrfz0-file-5.46/bin:/home/tornax/projects/cava-rs/.direnv/bin:/run/wrappers/bin:/home/tornax/.nix-profile/bin:/nix/profile/bin:/home/tornax/.local/state/nix/profile/bin:/etc/profiles/per-user/tornax/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:~/.local/bin:/home/tornax/.local/bin:/home/tornax/.cargo/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcT3IhKG/symbols.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.1jnlaqyrawtc5lrpg6ab4rvvx.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.2vipk3lq274jieylfvfm5z7k7.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.3upmgg75u81hea4wfxya3yav0.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.4u98ybkfxd6l6ciirp1v0yj2h.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.4v40kxmplvj8jpvp9a9lokuco.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.6eivxw4cbv4gr92iu3oxlt37r.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.7ltslv5xoml19y7e3fuvyfml3.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.96iaaubpaqfq3ijs8d4cr1hbj.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.976qzxtzdr36ebfocu6iw7yb8.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.apckzr747qgj8gccjzblsxt33.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.bgbvsahxepi0boftscnq466k8.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.c92rjp6b4pxrnge2dsfwsechu.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.cdm8fuk6hdsih3oaa5oc09spp.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.czxt1esho46mwmur749t5vti9.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.ds9lynkhaxr6awp5b1sdavv0b.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.dsk2bs328jlp2xnqn5ool25h7.rcgu.o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4.0wdvptu7wrs5rczs1l955s8re.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "-lcavacore" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-3f2fb5628a902976.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-faba618726e33e66.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-cb7e1a26da719554.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-cc5e90924cebe413.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-057643b1ee86c6e4.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-8e63f34add4b5f76.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-8f13995dfe88b143.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-45742ba23c5ac84b.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-bea85df8985bb2f0.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-042a1cb2143833ef.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-092847c11df9843e.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-766a7f754c8a7b1e.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-9b015ab0e459320f.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-5742b2ff1aee27a6.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-d03b432324732a0e.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-7edbe936f6124018.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-b3cefab73e1d8804.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-a6ffb752c82ede63.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-c896c1f3ebd992a5.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-915fd1ebf7e3c376.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-0ca9d0e07c79bf1c.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-1e6496089ac34c68.rlib" "/nix/store/b5pn1r2zkx57fxwb80klk2xj0z1d676x-rust-std-1.84.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-3d4809363f767eb8.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/tornax/projects/cava-rs/target/debug/build/cava-rs-628eea0018a24433/out" "-L" "/home/tornax/projects/cava-rs/target/debug/build/cava-rs-628eea0018a24433/out" "-L" "/nix/store/zqqb83ss2cf2xl8n57gc89g95273xbkr-rust-default-1.84.0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/tornax/projects/cava-rs/target/debug/deps/cava_rs-d38a421782a3bff4" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
= note: /nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/target/debug/build/cava-rs-628eea0018a24433/out/libcavacore.a(6217f5867eedb618-cavacore.o): in function `cava_init':
/home/tornax/projects/cava-rs/./cava/cavacore.c:135:(.text.cava_init+0x3c1): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:136:(.text.cava_init+0x3d0): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:137:(.text.cava_init+0x3ed): undefined reference to `fftw_alloc_complex'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:139:(.text.cava_init+0x40a): undefined reference to `fftw_plan_dft_r2c_1d'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:142:(.text.cava_init+0x41a): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:143:(.text.cava_init+0x42a): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:144:(.text.cava_init+0x448): undefined reference to `fftw_alloc_complex'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:145:(.text.cava_init+0x466): undefined reference to `fftw_plan_dft_r2c_1d'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:148:(.text.cava_init+0x476): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:149:(.text.cava_init+0x486): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:150:(.text.cava_init+0x4a4): undefined reference to `fftw_alloc_complex'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:152:(.text.cava_init+0x4c2): undefined reference to `fftw_plan_dft_r2c_1d'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:165:(.text.cava_init+0x942): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:166:(.text.cava_init+0x951): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:167:(.text.cava_init+0x96e): undefined reference to `fftw_alloc_complex'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:169:(.text.cava_init+0x98b): undefined reference to `fftw_plan_dft_r2c_1d'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:172:(.text.cava_init+0x99b): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:173:(.text.cava_init+0x9ab): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:174:(.text.cava_init+0x9c9): undefined reference to `fftw_alloc_complex'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:176:(.text.cava_init+0x9e7): undefined reference to `fftw_plan_dft_r2c_1d'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:179:(.text.cava_init+0x9f7): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:180:(.text.cava_init+0xa07): undefined reference to `fftw_alloc_real'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:181:(.text.cava_init+0xa25): undefined reference to `fftw_alloc_complex'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:183:(.text.cava_init+0xa43): undefined reference to `fftw_plan_dft_r2c_1d'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/target/debug/build/cava-rs-628eea0018a24433/out/libcavacore.a(6217f5867eedb618-cavacore.o): in function `cava_execute':
/home/tornax/projects/cava-rs/./cava/cavacore.c:425:(.text.cava_execute+0x461): undefined reference to `fftw_execute'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:426:(.text.cava_execute+0x46d): undefined reference to `fftw_execute'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:427:(.text.cava_execute+0x479): undefined reference to `fftw_execute'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:429:(.text.cava_execute+0x56e): undefined reference to `fftw_execute'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:430:(.text.cava_execute+0x57a): undefined reference to `fftw_execute'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/target/debug/build/cava-rs-628eea0018a24433/out/libcavacore.a(6217f5867eedb618-cavacore.o):/home/tornax/projects/cava-rs/./cava/cavacore.c:431: more undefined references to `fftw_execute' follow
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/target/debug/build/cava-rs-628eea0018a24433/out/libcavacore.a(6217f5867eedb618-cavacore.o): in function `cava_destroy':
/home/tornax/projects/cava-rs/./cava/cavacore.c:545:(.text.cava_destroy+0xa4): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:546:(.text.cava_destroy+0xb0): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:547:(.text.cava_destroy+0xbc): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:548:(.text.cava_destroy+0xc8): undefined reference to `fftw_destroy_plan'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:550:(.text.cava_destroy+0xd4): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:551:(.text.cava_destroy+0xe0): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:552:(.text.cava_destroy+0xec): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:553:(.text.cava_destroy+0xf8): undefined reference to `fftw_destroy_plan'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:555:(.text.cava_destroy+0x104): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:556:(.text.cava_destroy+0x110): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:557:(.text.cava_destroy+0x11c): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:558:(.text.cava_destroy+0x128): undefined reference to `fftw_destroy_plan'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:561:(.text.cava_destroy+0x142): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:562:(.text.cava_destroy+0x14e): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:563:(.text.cava_destroy+0x15a): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:564:(.text.cava_destroy+0x166): undefined reference to `fftw_destroy_plan'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:566:(.text.cava_destroy+0x172): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:567:(.text.cava_destroy+0x17e): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:568:(.text.cava_destroy+0x18a): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:569:(.text.cava_destroy+0x196): undefined reference to `fftw_destroy_plan'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:571:(.text.cava_destroy+0x1a2): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:572:(.text.cava_destroy+0x1ae): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:573:(.text.cava_destroy+0x1ba): undefined reference to `fftw_free'
/nix/store/a1cr17kwgakznfw4pp8paw8yv189ikk5-binutils-2.43.1/bin/ld: /home/tornax/projects/cava-rs/./cava/cavacore.c:574:(.text.cava_destroy+0x1c6): undefined reference to `fftw_destroy_plan'
collect2: error: ld returned 1 exit status
= note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the `-l` flag to specify native libraries to link
= note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib)
error: could not compile `cava-rs` (lib test) due to 1 previous error
Obviously fftw
is somehow missing but I though that my cc
config in my build.rs
with
fn main() {
cc::Build::new()
.file("./cava/cavacore.c")
.static_flag(true)
.compile("cavacore");
// ...
would compile cavacore.c
statically hence including the relevant functions of fftw
into the .a
file.