Open ivlevdenis opened 8 years ago
I'm testing cross compile this lib for Raspberry Pi 2.
cargo new hello --bin
~/.cargo/config
[target.armv7-unknown-linux-gnueabihf] linker = "/mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc"
cargo build --target=armv7-unknown-linux-gnueabihf
set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSROOT /mnt/rasp-pi-rootfs) set(CMAKE_C_COMPILER /home/di-erz/projects/images/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER /home/di-erz/projects/images/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
to CMakeLists.txt to qmlrs-0.1.1/ext/libqmlrswrapper. Then build static libqmlrswrapper
$ cd qmlrs-0.1.1/ext/libqmlrswrapper/build $ PATH=$PATH:/mnt/rasp-pi-rootfs/usr/local/Qt-rasp2-5.7.0 \ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/rasp-pi-rootfs/usr/local/Qt-rasp2-5.7.0/lib \ PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/mnt/rasp-pi-rootfs/usr/local/Qt-rasp2-5.7.0/lib/pkgconfig/ \ CMAKE_SYSROOT=/mnt/rasp-pi-rootfs/ \ CMAKE_CXX_COMPILER=/mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-cpp \ CMAKE_C_COMPILER=/mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc \ cmake ../ $ make
$ cd projects/hello $ CMAKE_SYSROOT=/mnt/rasp-pi-rootfs \ PATH=/mnt/rasp-pi-rootfs/usr/local/Qt-rasp2-5.7.0:$PATH \ PKG_CONFIG_PATH=/mnt/rasp-pi-rootfs/usr/local/Qt-rasp2-5.7.0/lib/pkgconfig/ \ PKG_CONFIG_ALLOW_CROSS=1 \ cargo build --target=armv7-unknown-linux-gnueabihf --verbose
Cargo exit with 101 error code.
Compiling hello v0.1.0 (file:///home/di-erz/projects/rust_test_armf7/hello) Running `rustc src/main.rs --crate-name hello --crate-type bin -g -C metadata=633f842f00664fda --out-dir /home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug --emit=dep-info,link --target armv7-unknown-linux-gnueabihf -C linker=/mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc -L dependency=/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/deps --extern qmlrs=/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/deps/libqmlrs-4c95d386a3275de2.rlib -L native=/home/di-erz/.cargo/registry/src/github.com-1ecc6299db9ec823/qmlrs-0.1.1/ext/libqmlrswrapper/build -L native=/usr/local/Qt-rasp2-5.7.0/lib` error: linking with `/mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc` failed: exit code: 2 | = note: "/mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-L" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib" "/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/hello.0.o" "-o" "/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/hello" "-Wl,--gc-sections" "-pie" "-nodefaultlibs" "-L" "/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/deps" "-L" "/home/di-erz/.cargo/registry/src/github.com-1ecc6299db9ec823/qmlrs-0.1.1/ext/libqmlrswrapper/build" "-L" "/usr/local/Qt-rasp2-5.7.0/lib" "-L" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/deps/libqmlrs-4c95d386a3275de2.rlib" "/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/deps/liblibc-1bd8847afb79f283.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libstd-958ae23af751ccd2.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libpanic_unwind-a9a59c59600d7fc2.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libunwind-6c9d51e4a80592ac.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libcollections-d6fc9dbb93241229.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/liballoc-d486feb737ebb44c.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/liballoc_jemalloc-ffb42151b6c9616e.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/liblibc-233ca0904a4b2a29.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/librand-2bb4926cb0753fd8.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/librustc_unicode-ccb09dfcfc8f1ea6.rlib" "/home/di-erz/.multirust/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-gnueabihf/lib/libcore-aad7393ea968a91e.rlib" "-l" "stdc++" "-l" "Qt5Quick" "-l" "Qt5Gui" "-l" "Qt5Qml" "-l" "Qt5Network" "-l" "Qt5Core" "-l" "util" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "gcc_s" "-l" "pthread" "-l" "c" "-l" "m" "-l" "rt" "-l" "util" "-l" "compiler-rt" = note: /mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc: 1: /mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc: Syntax error: word unexpected (expecting ")") error: aborting due to previous error error: Could not compile `hello`. Caused by: Process didn't exit successfully: `rustc src/main.rs --crate-name hello --crate-type bin -g -C metadata=633f842f00664fda --out-dir /home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug --emit=dep-info,link --target armv7-unknown-linux-gnueabihf -C linker=/mnt/rasp-pi-rootfs/usr/bin/arm-linux-gnueabihf-gcc -L dependency=/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/deps --extern qmlrs=/home/di-erz/projects/rust_test_armf7/hello/target/armv7-unknown-linux-gnueabihf/debug/deps/libqmlrs-4c95d386a3275de2.rlib -L native=/home/di-erz/.cargo/registry/src/github.com-1ecc6299db9ec823/qmlrs-0.1.1/ext/libqmlrswrapper/build -L native=/usr/local/Qt-rasp2-5.7.0/lib` (exit code: 101)
I would be glad of any idea!
I'm testing cross compile this lib for Raspberry Pi 2.
cargo new hello --bin
and add qmlrs to dependencies.~/.cargo/config
cargo build --target=armv7-unknown-linux-gnueabihf
for fetch dependencies.to CMakeLists.txt to qmlrs-0.1.1/ext/libqmlrswrapper. Then build static libqmlrswrapper
Cargo exit with 101 error code.
I would be glad of any idea!