Robotics StackExchange | Archived questions

ros cross compile failed

Here`s my toolchain cmake file

#File rostoolchain.cmake

set(CMAKESYSTEMNAME Linux) set(CMAKESYSTEMPROCESSOR aarch64)

set(CMAKECCOMPILER /usr/bin/aarch64-linux-gnu-gcc-8) set(CMAKECXXCOMPILER /usr/bin/aarch64-linux-gnu-g++-8) #set(CMAKECCOMPILERFORCED /usr/bin/aarch64-linux-gnu-gcc-8) #set(CMAKECXXCOMPILERFORCED /usr/bin/aarch64-linux-gnu-g++-8)

set(CMAKECFLAGS -fpermissive) set(CMAKECXXFLAGS -fpermissive)

#SET(CMAKE_SYSROOT "/opt/ros/melodic")

set(CMAKEFINDROOTPATH
$ENV{CMAKE
SYSROOT} /opt/ros/melodic $ENV{HOME}/crosscompile $ENV{HOME}/crosscompile/lib $ENV{HOME}/crosscompile/usr/lib /home/ysc/crosscompile/usr/lib $ENV{HOME}/crosscompile/usr/local/lib $ENV{HOME}/crosscompile/lib/aarch64-linux-gnu $ENV{HOME}/crosscompile/usr/lib/aarch64-linux-gnu $ENV{HOME}/crosscompile/usr/include ) set(CMAKEFINDROOTPATHMODEPROGRAM NEVER) set(CMAKEFINDROOTPATHMODELIBRARY ONLY) set(CMAKEFINDROOTPATHMODEINCLUDE ONLY) set(CMAKEFINDROOTPATHMODEPACKAGE ONLY)

set(LIBRARYPATH /home/ysc/crosscompile/usr/lib)

includedirectories( "/$ENV{HOME}/crosscompile/usr/include" )

linkdirectories( "/home/ysc/crosscompile/usr/lib" )

#set(CMAKECFLAGS "${CMAKECFLAGS} --sysroot=${CMAKEFINDROOTPATH}" CACHE INTERNAL "" FORCE) #set(CMAKECLINKFLAGS "${CMAKECLINKFLAGS} --sysroot=${CMAKEFINDROOTPATH}" CACHE INTERNAL "" FORCE) #set(CMAKECXXFLAGS "${CMAKECXXFLAGS} --sysroot=${CMAKEFINDROOTPATH}" CACHE INTERNAL "" FORCE) #set(CMAKECXXLINKFLAGS "${CMAKECXXLINKFLAGS} --sysroot=${CMAKEFINDROOTPATH}" CACHE INTERNAL "" FORCE)

#list(APPEND CMAKELIBRARYPATH "/$ENV{HOME}/cross_compile/usr/lib")

#set(CMAKELIBRARYPATH
## /opt/ros/melodic/lib/aarch64-linux-gnu ##$ENV{HOME}/crosscompile/opt/ros/melodic/lib #$ENV{HOME}/crosscompile/lib #$ENV{HOME}/crosscompile/usr/lib #$ENV{HOME}/crosscompile/usr/local/lib #$ENV{HOME}/crosscompile/lib/aarch64-linux-gnu #$ENV{HOME}/crosscompile/usr/lib/aarch64-linux-gnu)

#set(CMAKEINCLUDEPATH #$ENV{HOME}/crosscompile/usr/include #$ENV{HOME}/crosscompile/usr/include/freetype2 #$ENV{HOME}/crosscompile/usr/include/aarch64-linux-gnu #$ENV{HOME}/crosscompile/usr/local/include)

#set(LDLIBRARYPATH ## /opt/ros/melodic/lib/aarch64-linux-gnu ##$ENV{HOME}/crosscompile/opt/ros/melodic/lib #$ENV{HOME}/crosscompile/lib #$ENV{HOME}/crosscompile/usr/lib #$ENV{HOME}/crosscompile/usr/local/lib #$ENV{HOME}/crosscompile/lib/aarch64-linux-gnu #$ENV{HOME}/crosscompile/usr/lib/aarch64-linux-gnu) #message(STATUS "rostoolchain LDLIBRARYPATH ${LDLIBRARYPATH}")

set(PYTHONEXECUTABLE /usr/bin/python2.7) #set(BOOSTROOT $ENV{HOME}/crosscompile/usr) set(PCLROOT $ENV{HOME}/crosscompile/usr) set(PCLDIR $ENV{HOME}/cross_compile/usr/lib/aarch64-linux-gnu/cmake/pcl)

And here`s my report of bugs.

[ 38%] Linking CXX shared library /home/ysc/heightmapv1ws/devel/lib/libgridmap_transformer.so /usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libOpenNI.so when searching for -lOpenNI

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libOpenNI.so when searching for -lOpenNI

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lOpenNI

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libOpenNI2.so when searching for -lOpenNI2

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libOpenNI2.so when searching for -lOpenNI2

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lOpenNI2

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libvtkWrappingTools-6.3.a when searching for -lvtkWrappingTools-6.3

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libvtkWrappingTools-6.3.a when searching for -lvtkWrappingTools-6.3

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lvtkWrappingTools-6.3

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libPocoFoundation.so when searching for -lPocoFoundation

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libPocoFoundation.so when searching for -lPocoFoundation

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lPocoFoundation

collect2: error: ld returned 1 exit status

driver/deeproboticsgridmaptransformer/CMakeFiles/gridmaptransformer.dir/build.make:355: recipe for target '/home/ysc/heightmapv1ws/devel/lib/libgridmaptransformer.so' failed

make[2]: *** [/home/ysc/heightmapv1ws/devel/lib/libgridmap_transformer.so] Error 1

CMakeFiles/Makefile2:3687: recipe for target 'driver/deeproboticsgridmaptransformer/CMakeFiles/gridmap_transformer.dir/all' failed

make[1]: *** [driver/deeproboticsgridmaptransformer/CMakeFiles/gridmap_transformer.dir/all] Error 2

[ 40%] Linking CXX shared library /home/ysc/heightmapv1ws/devel/lib/libdeeproboticslocalheightmap_library.so

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libOpenNI.so when searching for -lOpenNI

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libOpenNI.so when searching for -lOpenNI

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lOpenNI

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libOpenNI2.so when searching for -lOpenNI2

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libOpenNI2.so when searching for -lOpenNI2

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lOpenNI2

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libvtkWrappingTools-6.3.a when searching for -lvtkWrappingTools-6.3

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libvtkWrappingTools-6.3.a when searching for -lvtkWrappingTools-6.3

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lvtkWrappingTools-6.3

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libPocoFoundation.so when searching for -lPocoFoundation

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libPocoFoundation.so when searching for -lPocoFoundation

/usr/lib/gcc-cross/aarch64-linux-gnu/8/../../../../aarch64-linux-gnu/bin/ld: cannot find -lPocoFoundation

collect2: error: ld returned 1 exit status

localheightmap/deeproboticslocalheightmap/CMakeFiles/deeproboticslocalheightmaplibrary.dir/build.make:515: recipe for target '/home/ysc/heightmapv1ws/devel/lib/libdeeproboticslocalheightmaplibrary.so' failed

make[2]: *** [/home/ysc/heightmapv1ws/devel/lib/libdeeproboticslocalheightmap_library.so] Error 1

CMakeFiles/Makefile2:5895: recipe for target 'localheightmap/deeproboticslocalheightmap/CMakeFiles/deeproboticslocalheightmap_library.dir/all' failed

make[1]: *** [localheightmap/deeproboticslocalheightmap/CMakeFiles/deeproboticslocalheightmap_library.dir/all] Error 2

Makefile:140: recipe for target 'all' failed

make: *** [all] Error 2

Invoking "make -j8 -l8" failed

I`ve got libOpenNI.so in ~/cross_compile/usr/lib, so it comfuse me why compiler search into the /usr/lib/gcc-cross dir? ```

ysc@u18:~/cross_compile/usr/lib$ ls | grep libOpenNI.so libOpenNI.so libOpenNI.so.0

ysc@u18:~/cross_compile/usr/lib$ file libOpenNI.so.0 libOpenNI.so.0: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=b6a806949fe1d2dcb68e120f0b3d6e4098959b8f, stripped ```

Asked by zox on 2023-06-13 09:49:14 UTC

Comments

Answers