Rust Car go кросс-компиляция с муслом не удается из-за отсутствия libc - PullRequest
1 голос
/ 16 марта 2020

Я собираю sind-ящик bindgen, используя контейнеры cross Docker. Целевая платформа - armv5te-unknown-linux-musleabi.

. Я использую автомобиль go, а также build.rs для создания привязок. Это происходит со следующим сообщением:

error: linking with `arm-linux-musleabi-gcc` failed: exit code: 1 
 |
 = note: "arm-linux-musleabi-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--eh-frame-hdr" "-nostdlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/crt1.o" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/crti.o" "-L" "/r
ust/lib/rustlib/armv5te-unknown-linux-musleabi/lib" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.0.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd
2919.sender.2tpmamwp-cgu.1.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.10.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpm
amwp-cgu.11.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.12.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.13.rcg
u.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.14.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.15.rcgu.o" "/target/a
rmv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.2.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.3.rcgu.o" "/target/armv5te-unknown-li
nux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.4.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.5.rcgu.o" "/target/armv5te-unknown-linux-musleabi/rele
ase/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.6.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.7.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/send
er-ae67e9af7ffd2919.sender.2tpmamwp-cgu.8.rcgu.o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.sender.2tpmamwp-cgu.9.rcgu.o" "-o" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7
ffd2919" "/target/armv5te-unknown-linux-musleabi/release/examples/sender-ae67e9af7ffd2919.5frnvmjky50nsp1f.rcgu.o" "-Wl,--gc-sections" "-no-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/target/armv5te-unknown-linux-musle
abi/release/deps" "-L" "/target/release/deps" "-L" "/usr/local/arm-linux-musleabi/lib" "-L" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/l
ib" "-Wl,-Bstatic" "/target/armv5te-unknown-linux-musleabi/release/
deps/libchrono-8906c24961356f5d.rlib" "/target/armv5te-unknown-linux-musleabi/release/deps/libnum_integer-63a16a1928372cb0.rlib" "/target/armv5te-unknown-linux-musleabi/release/deps/libnum_traits-3a23e7e4666f92e2.rlib" "/target/armv5te-unk
nown-linux-musleabi/release/deps/libtime-539034810eb0046e.rlib" "/target/armv5te-unknown-linux-musleabi/release/deps/liblibc-21b083a3d3ab5c90.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libstd-30710e7d8f5f101a.rlib" "/rust/
lib/rustlib/armv5te-unknown-linux-musleabi/lib/libpanic_unwind-91d7324608b6a17b.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libhashbrown-a97e0e89225622e4.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/librustc_
std_workspace_alloc-70409e4ba766500f.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libbacktrace-4a46bfa51bebadad.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libbacktrace_sys-e26ffb63956c66d6.rlib" "/rust/lib/r
ustlib/armv5te-unknown-linux-musleabi/lib/librustc_demangle-cdb472759f255559.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libunwind-3c1996f92c510542.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libcfg_if-c6d2b
eb10e58281e.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/liblibc-cbc45462aec80c66.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/liballoc-9b851db7befdb866.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/
lib/librustc_std_workspace_core-60d3961272fd7f14.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libcore-119270e0badc7554.rlib" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/libcompiler_builtins-6891d957f70929ae.rlib" "
-Wl,-Bdynamic" "-lfoo" "-static" "/rust/lib/rustlib/armv5te-unknown-linux-musleabi/lib/crtn.o" 

Различные сообщения об ошибках включают, например:

/project/.../foo.c:167: undefined reference to `printf'

Мне кажется, что он не может связать musl-libc. Я пробовал разные вещи (например, -lc или прохождение -C target-feature=+crt-static, но это не помогло).

...