Hi folks,
I've been trying to follow rust-cross as well as rust-on-openwrt and try to get a basic hello world running on OpenWRT with MIPS.
I followed the instructions, downloaded the SDK (OpenWRT SDK for Linux 15.05.1), set it up, added the target mips-unknown-linux-gnu to rustup.rs and then used
rustc --target mips-unknown-linux-gnu -C --linker=mips-openwrt-linux-gcc hello.rs
where hello.rs is just a plain "Hello world" fn.
Here is the error I get, which makes me think something is wrong my toolchain - maybe someone has an idea how to fix it? maybe @japaric?
error: linking with `mips-openwrt-linux-gcc` failed: exit code: 1
note: "mips-openwrt-linux-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-L" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib" "hello.0.o" "-o" "hello" "-Wl,--gc-sections" "-pie" "-nodefaultlibs" "-L" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libstd-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libpanic_unwind-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libunwind-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/librand-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libcollections-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/librustc_unicode-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/liballoc-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/liballoc_jemalloc-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/liblibc-39b92f95.rlib" "/root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libcore-39b92f95.rlib" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "pthread" "-l" "c" "-l" "m" "-l" "rt" "-l" "util" "-l" "compiler-rt"
note: mips-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
mips-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined
/root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/../../../../mips-openwrt-linux-uclibc/bin/ld: Warning: hello uses -msoft-float (set by /root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/crtbeginS.o), /root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libstd-39b92f95.rlib(fileline.o) uses unknown floating point ABI 5
/root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/../../../../mips-openwrt-linux-uclibc/bin/ld: Warning: hello uses -msoft-float (set by /root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/crtbeginS.o), /root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libstd-39b92f95.rlib(posix.o) uses unknown floating point ABI 5
/root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/../../../../mips-openwrt-linux-uclibc/bin/ld: Warning: hello uses -msoft-float (set by /root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/crtbeginS.o), /root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libstd-39b92f95.rlib(state.o) uses unknown floating point ABI 5
/root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/../../../../mips-openwrt-linux-uclibc/bin/ld: Warning: hello uses -msoft-float (set by /root/code/sdk/openwrt-15.05/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.8.3/crtbeginS.o), /root/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/mips-unknown-linux-gnu/lib/libstd-39b92f95.rlib(elf.o) uses unknown floating point ABI 5
Full output here: Build Error · GitHub
Rust version used is 1.11.0 on Linux 64bit
Thanks much,
Michael