crossenv icon indicating copy to clipboard operation
crossenv copied to clipboard

LIBRARY_PATH seems problematic for Rust build scripts

Open messense opened this issue 4 years ago • 2 comments
trafficstars

https://github.com/messense/manylinux2014-cross-arm/runs/2194258442?check_suite_focus=true

error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-Wl,--eh-frame-hdr" "-L" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.0.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.1.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.10.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.11.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.12.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.13.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.14.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.15.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.2.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.3.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.4.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.5.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.6.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.7.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.8.rcgu.o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.build_script_build.98y7fziv-cgu.9.rcgu.o" "-o" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/build/syn-f5721b8c67d18e56/build_script_build-f5721b8c67d18e56.2a6x0kqhg8aetyro.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/__w/manylinux2014-cross-arm/manylinux2014-cross-arm/pyo3-test/target/release/deps" "-L" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-b1047a2788193be4.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e8e399e2092f3b2a.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-c6b02b522c91c060.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-eaad965909c4200f.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-dca728ac8ed54d87.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-4b4efaa8c4601753.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-d36e07ed2cc56ee4.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-3855d04b1bb40ceb.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-58a065cdff5508a2.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-82aeeedcc8d1450a.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-5c4d6c9d7595f844.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-2642d2bccc00517a.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-760e48b3f782e7f5.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-d4ef8bf89076ed01.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-36070e2029bb21ea.rlib" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-3aaf8f932781f33e.rlib" "-Wl,--end-group" "/github/home/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-e2523c360f03ba10.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc"
  = note: /usr/bin/ld: /usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot/usr/libexec/../lib/Scrt1.o: Relocations in generic ELF (EM: 183)
          /usr/bin/ld: /usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot/usr/libexec/../lib/Scrt1.o: Relocations in generic ELF (EM: 183)
          /usr/bin/ld: /usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot/usr/libexec/../lib/Scrt1.o: Relocations in generic ELF (EM: 183)
          /usr/bin/ld: /usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot/usr/libexec/../lib/Scrt1.o: Relocations in generic ELF (EM: 183)
          /usr/bin/ld: /usr/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/sysroot/usr/libexec/../lib/Scrt1.o: error adding symbols: file in wrong format
          collect2: error: ld returned 1 exit status

Running the cc command directly works fine, removing LIBRARY_PATH from cross/bin/python also works.

messense avatar Mar 26 '21 08:03 messense

This could be tricky to solve in a clean manner. Rust build scripts mean that there's a native compilation step mixed in with cross-compilation steps in a way we have no control over. We'll have to come up with some ideas.

benfogle avatar Mar 26 '21 19:03 benfogle

This could be tricky to solve in a clean manner.

Is it possible to solve with CFLAGS? For example: CFLAGS_x86_64_unknown_linux_gnu=--sysroot=/path/to/target/sysroot

messense avatar Mar 29 '21 05:03 messense