CrossCompile ROS Desktop packages for Pegasus/Xavier platform

I tried the following commands to get ROS desktop cross-crompiled:

rosinstall_generator desktop --rosdistro melodic --deps --tar > melodic-desktop.rosinstall
wstool init -j8 src melodic-desktop.rosinstall

Howerver, cross-compilation fails on the following:

==> Processing plain cmake package: ‘orocos_kdl’
==> Creating build directory: ‘build_isolated/orocos_kdl/install’
==> Building with env: ‘/home/jvilela/ros_catkin_ws/install_isolated/env.sh’
==> cmake /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl -DCMAKE_INSTALL_PREFIX=/home/jvilela/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/jvilela/ros_catkin_ws/Toolchain-V5L.cmake -G Unix Makefiles in ‘/home/jvilela/ros_catkin_ws/build_isolated/orocos_kdl/install’
– The C compiler identification is GNU 7.3.1
– The CXX compiler identification is GNU 7.3.1
– Check for working C compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
– Check for working C compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
– Check for working CXX compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– Orocos KDL version (1.4.0)
– Build type set to ‘Release’ by user.
– Could NOT find Eigen3 (missing: EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) (Required is at least version “2.91.0”)
– Performing Test HAVE_STL_CONTAINER_INCOMPLETE_TYPES
– Performing Test HAVE_STL_CONTAINER_INCOMPLETE_TYPES - Success
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
EIGEN3_INCLUDE_DIR (ADVANCED)
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/doc
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/doc
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/doc
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/doc
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/doc
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/doc
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/doc
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/src
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/src
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/src
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/src
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/src
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/src
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/src
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/tests
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/tests
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/tests
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/tests
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/tests
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/tests
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/models
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/models
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/models
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/models
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/models
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/models
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/examples
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/examples
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/examples
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/examples
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/examples
used as include directory in directory /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl/examples

– Configuring incomplete, errors occurred!
See also “/home/jvilela/ros_catkin_ws/build_isolated/orocos_kdl/install/CMakeFiles/CMakeOutput.log”.
<== Failed to process package ‘orocos_kdl’:
Command ‘[’/home/jvilela/ros_catkin_ws/install_isolated/env.sh’, ‘cmake’, ‘/home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl’, ‘-DCMAKE_INSTALL_PREFIX=/home/jvilela/ros_catkin_ws/install_isolated’, ‘-DCMAKE_BUILD_TYPE=Release’, ‘-DCMAKE_TOOLCHAIN_FILE=/home/jvilela/ros_catkin_ws/Toolchain-V5L.cmake’, ‘-G’, ‘Unix Makefiles’]’ returned non-zero exit status 1

Reproduce this error by running:
==> cd /home/jvilela/ros_catkin_ws/build_isolated/orocos_kdl && /home/jvilela/ros_catkin_ws/install_isolated/env.sh cmake /home/jvilela/ros_catkin_ws/src/orocos_kinematics_dynamics/orocos_kdl -DCMAKE_INSTALL_PREFIX=/home/jvilela/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/jvilela/ros_catkin_ws/Toolchain-V5L.cmake -G ‘Unix Makefiles’

Command failed, exiting.

Can you confirm desktop ROS can be cross-compiled without issues on your side?

Additional to that error. When I tried to chroot and run apt-get update, Getting this error currently:

jvilela@soads-gpu-4:/opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a$ sudo LC_ALL=C chroot .
root@soads-gpu-4:/# apt-get update
Get:1 file:/var/cuda-repo-10-2-local-10.2.19 InRelease
Ign:1 file:/var/cuda-repo-10-2-local-10.2.19 InRelease
Get:2 file:/var/cuda-repo-10-2-local-10.2.19 Release [574 B]
Get:2 file:/var/cuda-repo-10-2-local-10.2.19 Release [574 B]
Get:3 file:/var/cuda-repo-10-2-local-10.2.19 Release.gpg [819 B]
Get:3 file:/var/cuda-repo-10-2-local-10.2.19 Release.gpg [819 B]
Get:4 Index of /ubuntu-ports bionic InRelease [242 kB]
Get:5 Index of /ubuntu-ports bionic-updates InRelease [88.7 kB]
0% [3 Release.gpg gpgv 574 B] [Waiting for headers]gpgv: Signature made Thu May 2 23:12:13 2019 UTC
gpgv: using RSA key F60F4B3D7FA2AF80
gpgv: Good signature from “cudatools cudatools@nvidia.com
/usr/bin/apt-key: 624: /usr/bin/apt-key: cannot create /dev/null: Permission denied
terminate called after throwing an instance of ‘std::runtime_error’
what(): random_device::random_device(const std::string&)
qemu: uncaught target signal 6 (Aborted) - core dumped
Aborted (core dumped)
root@soads-gpu-4:/#

Please follow ROS source installation wiki and try non cross compiling the same core ROS packages on your host system. You can see if it hit the same issue.

When was the last time it worked on your side? Could you figure out what causes the problem?

I worked as yesterday. So rebooting my workstation and trying one more time.

@VickNV

Rebooting and starting again helped!!

Got blocked on the following:

==> Processing catkin package: ‘rqt_gui_cpp’
==> Building with env: ‘/home/jvilela/ros_catkin_ws/install_isolated/env.sh’
==> cmake /home/jvilela/ros_catkin_ws/src/rqt/rqt_gui_cpp -DCATKIN_DEVEL_PREFIX=/home/jvilela/ros_catkin_ws/devel_isolated/rqt_gui_cpp -DCMAKE_INSTALL_PREFIX=/home/jvilela/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/jvilela/ros_catkin_ws/Toolchain-V5L.cmake -G Unix Makefiles in ‘/home/jvilela/ros_catkin_ws/build_isolated/rqt_gui_cpp’
– Using CATKIN_DEVEL_PREFIX: /home/jvilela/ros_catkin_ws/devel_isolated/rqt_gui_cpp
– Using CMAKE_PREFIX_PATH: /home/jvilela/ros_catkin_ws/install_isolated;/opt/ros/melodic
– This workspace overlays: /home/jvilela/ros_catkin_ws/install_isolated;/opt/ros/melodic
– Found PythonInterp: /usr/bin/python2 (found suitable version “2.7.17”, minimum required is “2”)
– Using PYTHON_EXECUTABLE: /usr/bin/python2
– Using Debian Python package layout
– Using empy: /usr/bin/empy
– Using CATKIN_ENABLE_TESTING: ON
– Call enable_testing()
– Using CATKIN_TEST_RESULTS_DIR: /home/jvilela/ros_catkin_ws/build_isolated/rqt_gui_cpp/test_results
– Found gtest sources under ‘/usr/src/googletest’: gtests will be built
– Found gmock sources under ‘/usr/src/googletest’: gmock will be built
– Found PythonInterp: /usr/bin/python2 (found version “2.7.17”)
– Using Python nosetests: /usr/bin/nosetests-2.7
– catkin 0.7.29
– BUILD_SHARED_LIBS is on
– Configuring done
CMake Warning at CMakeLists.txt:26 (add_library):
Cannot generate a safe runtime search path for target rqt_gui_cpp because
files in some directories may conflict with libraries in implicit
directories:

runtime library [libpython2.7.so.1.0] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_program_options.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libtinyxml2.so.6] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_filesystem.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [liblog4cxx.so.10] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_regex.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_system.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_thread.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_chrono.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_date_time.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libboost_atomic.so.1.65.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libpthread.so] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libQt5Widgets.so.5] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libQt5Gui.so.5] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libEGL.so.1] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libGLESv2.so.2] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu
runtime library [libQt5Core.so.5] in /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/lib/aarch64-linux-gnu may be hidden by files in:
  /usr/lib/x86_64-linux-gnu

Some of these libraries may not be found correctly.

– Generating done
– Build files have been written to: /home/jvilela/ros_catkin_ws/build_isolated/rqt_gui_cpp
==> make -j24 -l24 in ‘/home/jvilela/ros_catkin_ws/build_isolated/rqt_gui_cpp’
[ 20%] Generating src/rqt_gui_cpp/moc_roscpp_plugin_provider.cpp
/lib/ld-linux-aarch64.so.1: No such file or directory
CMakeFiles/rqt_gui_cpp.dir/build.make:61: recipe for target ‘src/rqt_gui_cpp/moc_roscpp_plugin_provider.cpp’ failed
make[2]: *** [src/rqt_gui_cpp/moc_roscpp_plugin_provider.cpp] Error 255
CMakeFiles/Makefile2:931: recipe for target ‘CMakeFiles/rqt_gui_cpp.dir/all’ failed
make[1]: *** [CMakeFiles/rqt_gui_cpp.dir/all] Error 2
Makefile:140: recipe for target ‘all’ failed
make: *** [all] Error 2
<== Failed to process package ‘rqt_gui_cpp’:
Command ‘[’/home/jvilela/ros_catkin_ws/install_isolated/env.sh’, ‘make’, ‘-j24’, ‘-l24’]’ returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/jvilela/ros_catkin_ws/build_isolated/rqt_gui_cpp && /home/jvilela/ros_catkin_ws/install_isolated/env.sh make -j24 -l24

Command failed, exiting.
jvilela@soads-gpu-4:~/ros_catkin_ws$

It seems some libraries cant be found but not sure how to go around it.

any advise?

@VickNV

Other error I found is related to the libraries in the wrong format:

==> Processing catkin package: ‘tf_conversions’
==> Creating build directory: ‘build_isolated/tf_conversions’
==> Building with env: ‘/home/jvilela/ros_catkin_ws/install_isolated/env.sh’
==> cmake /home/jvilela/ros_catkin_ws/src/geometry/tf_conversions -DCATKIN_DEVEL_PREFIX=/home/jvilela/ros_catkin_ws/devel_isolated/tf_conversions -DCMAKE_INSTALL_PREFIX=/home/jvilela/ros_catkin_ws/install_isolated -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/jvilela/ros_catkin_ws/Toolchain-V5L.cmake -G Unix Makefiles in ‘/home/jvilela/ros_catkin_ws/build_isolated/tf_conversions’
– The C compiler identification is GNU 7.3.1
– The CXX compiler identification is GNU 7.3.1
– Check for working C compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
– Check for working C compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Detecting C compile features
– Detecting C compile features - done
– Check for working CXX compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
– Check for working CXX compiler: /opt/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Detecting CXX compile features
– Detecting CXX compile features - done
– Using CATKIN_DEVEL_PREFIX: /home/jvilela/ros_catkin_ws/devel_isolated/tf_conversions
– Using CMAKE_PREFIX_PATH: /home/jvilela/ros_catkin_ws/install_isolated;/opt/ros/melodic
– This workspace overlays: /home/jvilela/ros_catkin_ws/install_isolated;/opt/ros/melodic
– Found PythonInterp: /usr/bin/python2 (found suitable version “2.7.17”, minimum required is “2”)
– Using PYTHON_EXECUTABLE: /usr/bin/python2
– Using Debian Python package layout
– Using empy: /usr/bin/empy
– Using CATKIN_ENABLE_TESTING: ON
– Call enable_testing()
– Using CATKIN_TEST_RESULTS_DIR: /home/jvilela/ros_catkin_ws/build_isolated/tf_conversions/test_results
– Found gtest sources under ‘/usr/src/googletest’: gtests will be built
– Found gmock sources under ‘/usr/src/googletest’: gmock will be built
– Found PythonInterp: /usr/bin/python2 (found version “2.7.17”)
– Looking for pthread.h
– Looking for pthread.h - found
– Looking for pthread_create
– Looking for pthread_create - not found
– Looking for pthread_create in pthreads
– Looking for pthread_create in pthreads - not found
– Looking for pthread_create in pthread
– Looking for pthread_create in pthread - found
– Found Threads: TRUE
– Using Python nosetests: /usr/bin/nosetests-2.7
– catkin 0.7.29
– BUILD_SHARED_LIBS is on
– Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
– Configuring done
– Generating done
– Build files have been written to: /home/jvilela/ros_catkin_ws/build_isolated/tf_conversions
==> make -j24 -l24 in ‘/home/jvilela/ros_catkin_ws/build_isolated/tf_conversions’
Scanning dependencies of target actionlib_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_py
Scanning dependencies of target sensor_msgs_generate_messages_cpp
Scanning dependencies of target tf2_msgs_generate_messages_cpp
Scanning dependencies of target actionlib_msgs_generate_messages_lisp
Scanning dependencies of target rosgraph_msgs_generate_messages_nodejs
Scanning dependencies of target tf2_msgs_generate_messages_lisp
Scanning dependencies of target tf2_msgs_generate_messages_py
Scanning dependencies of target actionlib_msgs_generate_messages_cpp
Scanning dependencies of target tf2_msgs_generate_messages_eus
Scanning dependencies of target tf2_msgs_generate_messages_nodejs
Scanning dependencies of target actionlib_msgs_generate_messages_py
Scanning dependencies of target actionlib_generate_messages_nodejs
Scanning dependencies of target actionlib_msgs_generate_messages_eus
Scanning dependencies of target sensor_msgs_generate_messages_nodejs
Scanning dependencies of target actionlib_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_nodejs
Scanning dependencies of target actionlib_generate_messages_eus
Scanning dependencies of target rosgraph_msgs_generate_messages_py
Scanning dependencies of target tf_generate_messages_cpp
Scanning dependencies of target std_msgs_generate_messages_lisp
Scanning dependencies of target sensor_msgs_generate_messages_eus
Scanning dependencies of target geometry_msgs_generate_messages_py
Scanning dependencies of target std_msgs_generate_messages_eus
[ 0%] Built target std_msgs_generate_messages_py
[ 0%] Built target tf2_msgs_generate_messages_py
[ 0%] Built target actionlib_generate_messages_py
[ 0%] Built target sensor_msgs_generate_messages_cpp
[ 0%] Built target tf2_msgs_generate_messages_cpp
[ 0%] Built target actionlib_msgs_generate_messages_lisp
[ 0%] Built target tf2_msgs_generate_messages_lisp
[ 0%] Built target rosgraph_msgs_generate_messages_nodejs
[ 0%] Built target actionlib_msgs_generate_messages_py
[ 0%] Built target actionlib_msgs_generate_messages_cpp
[ 0%] Built target tf2_msgs_generate_messages_nodejs
[ 0%] Built target actionlib_generate_messages_nodejs
[ 0%] Built target tf2_msgs_generate_messages_eus
[ 0%] Built target std_msgs_generate_messages_nodejs
[ 0%] Built target actionlib_generate_messages_lisp
[ 0%] Built target sensor_msgs_generate_messages_nodejs
[ 0%] Built target geometry_msgs_generate_messages_py
[ 0%] Built target actionlib_generate_messages_eus
[ 0%] Built target std_msgs_generate_messages_lisp
[ 0%] Built target tf_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_py
[ 0%] Built target sensor_msgs_generate_messages_eus
[ 0%] Built target actionlib_msgs_generate_messages_eus
[ 0%] Built target std_msgs_generate_messages_eus
Scanning dependencies of target actionlib_msgs_generate_messages_nodejs
Scanning dependencies of target roscpp_generate_messages_py
Scanning dependencies of target tf_generate_messages_lisp
Scanning dependencies of target geometry_msgs_generate_messages_nodejs
Scanning dependencies of target std_msgs_generate_messages_cpp
Scanning dependencies of target tf_generate_messages_py
Scanning dependencies of target sensor_msgs_generate_messages_py
Scanning dependencies of target roscpp_generate_messages_lisp
Scanning dependencies of target geometry_msgs_generate_messages_cpp
Scanning dependencies of target geometry_msgs_generate_messages_lisp
Scanning dependencies of target roscpp_generate_messages_eus
Scanning dependencies of target tf_generate_messages_nodejs
Scanning dependencies of target rosgraph_msgs_generate_messages_eus
Scanning dependencies of target tf_generate_messages_eus
Scanning dependencies of target roscpp_generate_messages_nodejs
Scanning dependencies of target rosgraph_msgs_generate_messages_cpp
Scanning dependencies of target geometry_msgs_generate_messages_eus
Scanning dependencies of target actionlib_generate_messages_cpp
Scanning dependencies of target sensor_msgs_generate_messages_lisp
Scanning dependencies of target roscpp_generate_messages_cpp
Scanning dependencies of target rosgraph_msgs_generate_messages_lisp
[ 0%] Built target actionlib_msgs_generate_messages_nodejs
[ 0%] Built target std_msgs_generate_messages_cpp
[ 0%] Built target roscpp_generate_messages_py
[ 0%] Built target tf_generate_messages_lisp
[ 0%] Built target tf_generate_messages_py
[ 0%] Built target geometry_msgs_generate_messages_nodejs
[ 0%] Built target roscpp_generate_messages_lisp
[ 0%] Built target sensor_msgs_generate_messages_py
[ 0%] Built target geometry_msgs_generate_messages_cpp
[ 0%] Built target geometry_msgs_generate_messages_lisp
[ 0%] Built target roscpp_generate_messages_eus
[ 0%] Built target tf_generate_messages_eus
[ 0%] Built target rosgraph_msgs_generate_messages_cpp
[ 0%] Built target actionlib_generate_messages_cpp
[ 0%] Built target tf_generate_messages_nodejs
[ 0%] Built target rosgraph_msgs_generate_messages_eus
[ 0%] Built target geometry_msgs_generate_messages_eus
[ 0%] Built target sensor_msgs_generate_messages_lisp
[ 0%] Built target roscpp_generate_messages_nodejs
[ 0%] Built target roscpp_generate_messages_cpp
[ 0%] Built target rosgraph_msgs_generate_messages_lisp
Scanning dependencies of target tf_conversions
[ 33%] Building CXX object CMakeFiles/tf_conversions.dir/src/tf_kdl.cpp.o
[ 66%] Building CXX object CMakeFiles/tf_conversions.dir/src/tf_eigen.cpp.o
[100%] Linking CXX shared library /home/jvilela/ros_catkin_ws/devel_isolated/tf_conversions/lib/libtf_conversions.so
/opt/ros/melodic/lib/libkdl_conversions.so: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
CMakeFiles/tf_conversions.dir/build.make:146: recipe for target ‘/home/jvilela/ros_catkin_ws/devel_isolated/tf_conversions/lib/libtf_conversions.so’ failed
make[2]: *** [/home/jvilela/ros_catkin_ws/devel_isolated/tf_conversions/lib/libtf_conversions.so] Error 1
CMakeFiles/Makefile2:1624: recipe for target ‘CMakeFiles/tf_conversions.dir/all’ failed
make[1]: *** [CMakeFiles/tf_conversions.dir/all] Error 2
Makefile:140: recipe for target ‘all’ failed
make: *** [all] Error 2
<== Failed to process package ‘tf_conversions’:
Command ‘[’/home/jvilela/ros_catkin_ws/install_isolated/env.sh’, ‘make’, ‘-j24’, ‘-l24’]’ returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/jvilela/ros_catkin_ws/build_isolated/tf_conversions && /home/jvilela/ros_catkin_ws/install_isolated/env.sh make -j24 -l24

Command failed, exiting.

Not sure if this issue is due to be using x86 libraries instead of arm64.

You may need to figure out why it’s not link ~/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1.

I would suggest you to refer to the log of your successful cross compiling to figure out the problem.