tomaka / vorbis-rs

Rust bindings for libvorbis
Apache License 2.0
15 stars 12 forks source link

Build fails on eabi target #12

Open michaelherger opened 7 years ago

michaelherger commented 7 years ago

Trying to compile for arm-unknown-linux-musleabi or arm-unknown-linux-gnueabi the build process fails, most likely to some parts using hf?

error: linking with `musl-gcc` failed: exit code: 1
  |
  = note: "musl-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-nostdlib" "-Wl,--eh-frame-hdr" "-Wl,-(" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/crt1.o" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/crti.o" "-L" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b.0.o" "-o" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps" "-L" "/home/pi/git/vorbis-rs/target/debug/deps" "-L" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/build/vorbis-encoder-c3ac0547d8c3c735/out" "-L" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/build/ogg-sys-96df270e1b3525c8/out" "-L" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/build/vorbis-sys-d3442ad9e3c2e00d/out" "-L" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/build/vorbisfile-sys-618833617754e9c8/out" "-L" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis-08c43e2b342c3474.rlib" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbisfile_sys-d2e44e9d26461ca2.rlib" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_encoder-75861f99ee946bc7.rlib" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/librand-4911891e1058a331.rlib" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libogg_sys-8f14c91feff22d98.rlib" "/home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/liblibc-e5a3b5a82f8f3c4a.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/libstd-f4594d3e53dcb114.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/librand-1efbcfd8938372b6.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/libcollections-532a3dbf317eff86.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/libstd_unicode-cfbd6648f7db2ee5.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/libpanic_unwind-a0157c0ca919c364.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/libunwind-488b4ab4bd53a138.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/liballoc-ca07b617414dd0fa.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/liballoc_jemalloc-492d8ea7fa3384ff.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/liblibc-88c194c15fdb6521.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/libcore-687e6a964d22cbb4.rlib" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/libcompiler_builtins-987729be881d4d32.rlib" "-l" "vorbis" "-l" "ogg" "/home/pi/.rustup/toolchains/stable-arm-unknown-linux-gnueabihf/lib/rustlib/arm-unknown-linux-musleabi/lib/crtn.o" "-Wl,-)"
  = note: /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbisfile_sys-d2e44e9d26461ca2.rlib(vorbisfile.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbisfile_sys-d2e44e9d26461ca2.rlib(vorbisfile.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_encoder-75861f99ee946bc7.rlib(vorbis-encoder.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_encoder-75861f99ee946bc7.rlib(vorbis-encoder.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(analysis.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(analysis.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(bitrate.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(bitrate.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(block.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(block.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(envelope.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(envelope.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(info.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(info.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(lpc.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(lpc.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(mdct.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(mdct.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(psy.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(psy.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(registry.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(registry.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(res0.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(res0.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(sharedbook.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(sharedbook.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(smallft.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(smallft.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(synthesis.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(synthesis.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(window.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(window.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(codebook.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(codebook.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(floor0.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(floor0.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(floor1.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(floor1.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(lsp.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(lsp.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(mapping0.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libvorbis_sys-4fef58914e8e5989.rlib(mapping0.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libogg_sys-8f14c91feff22d98.rlib(bitwise.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libogg_sys-8f14c91feff22d98.rlib(bitwise.o)
          /usr/bin/ld: error: /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libogg_sys-8f14c91feff22d98.rlib(framing.o) uses VFP register arguments, /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/examples/decode_encode-7e28394e2e99325b does not
          /usr/bin/ld: failed to merge target specific data of file /home/pi/git/vorbis-rs/target/arm-unknown-linux-musleabi/debug/deps/libogg_sys-8f14c91feff22d98.rlib(framing.o)
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: build failed
Hossein-Noroozpour commented 7 years ago

Sorry for late reply, I was very busy these days, would you mind to test the vorbisfile-sys and let me know that the problem exists there too or not?

mherger commented 7 years ago

I'm sorry, I'm not sure I understand. What do you want me to test? I'd be happy to do so.

Hossein-Noroozpour commented 7 years ago

Please, test the vorbisfile-sys library on your machine, and give me the result. (If the problem exists there too, so this means, this problem is related to vorbis development team, But if vorbisfile-sys work correctly in your machine, the main source of problem might be in the vorbis-encoder, this is my library and I will take care of it soon.)

michaelherger commented 7 years ago

Yeah, you're right, vorbisfile-sys fails the same way. What can I do?

tomaka commented 7 years ago

This looks more like a problem with either rustc, gcc-rs, or your local gcc. Either gcc or rustc is configured to use hard floats and the other one soft floats.

Hossein-Noroozpour commented 7 years ago

This is main vorbis source code in C, if you can't compile it in your machine, so the problem is from vorbis (because they're using some CPU specific features and maybe they do not support your CPU (it's a little odd!)) or your C compiler (as tomaka said). Otherwise it'd be from rust part (you can update your rust if it is not or and issue a bug).