My Drive AGX application requires streaming frames from a GMSL camera into ROS.
In the absence of NvROS for Drive Software 10.0, I need to cross compile a binary that includes both the DriveWorks libraries and the ROS libraries.
I have not found success with any published processes (everyone who tries this seems to have different issues), so I’m looking for support.
So far, I’ve followed the tutorial from VickNV (https://devtalk.nvidia.com/default/topic/1070613/faq/ros-how-to-cross-compile-ros-for-drive-agx-developer-kit-with-drive-software-10-0/) on cross compiling ROS from source for the target. This worked for me (with a few nontrivial tweaks), and the cross compiled ROS runs on my target.
I can also cross compile the DriveWorks samples on my host and run those on the target.
So, I figure it should be simple to cross compile a binary that includes both ROS and DriveWorks, if I can deal with each separately – but this hasn’t been the case.
Below are the two strategies I’ve tried and what’s going wrong with each:
1. Including Cross Compiled ROS Libraries from the DriveWorks samples
My cross compiled ROS is in ~/ros_catkin_ws on the host. I tried modifying the CMakeLists.txt for the hello_world sample to include the ROS that I cross compiled, like this:
# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
project(sample_hello_world C CXX)
include_directories(
${VIBRANTE_PDK}/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/include
# ${VIBRANTE_PDK}/targetfs_a/usr/include/aarch64-linux-gnu
)
link_directories(
${VIBRANTE_PDK}/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib
# ${VIBRANTE_PDK}/targetfs_a/usr/lib/aarch64-linux-gnu
)
## Find catkin and any catkin packages
# find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs genmsg)
## Declare a catkin package
# catkin_package()
#-------------------------------------------------------------------------------
# Project files
#-------------------------------------------------------------------------------
set(PUBLIC_DOCS
README.md
)
set(SOURCES
main.cpp
)
# include_directories(
# ${catkin_INCLUDE_DIRS}
# )
set(LIBRARIES
samples_framework
${Driveworks_LIBRARIES}
roscpp
)
#-------------------------------------------------------------------------------
# Final target
#-------------------------------------------------------------------------------
add_executable(${PROJECT_NAME} ${SOURCES})
target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBRARIES})
set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER "Samples")
# ------------------------------------------------------------------------------
# Install target
# ------------------------------------------------------------------------------
sdk_add_sample(${PROJECT_NAME})
I run this cmake command to set up the system for cross compilation:
sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-V5L.cmake -DVIBRANTE_PDK:STRING=/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux ..
and it produces this output:
-- VIBRANTE_PDK = /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux
-- VIBRANTE_PDK_DEVICE = t186ref
-- VIBRANTE_PDK_BRANCH = 5.1.6.1
-- Vibrante version 5.1.6.1
-- VIBRANTE_PDK = /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux
-- Vibrante version 5.1.6.1
-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is GNU 7.3.1
-- Check for working C compiler: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/../toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
-- Check for working C compiler: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/../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: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/../toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
-- Check for working CXX compiler: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/../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
-- Found CUDA: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/local/cuda (found version "10.2")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Found EGL: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libEGL.so
-- Found /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libEGL.so:
-- - Includes: [/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/include]
-- - Libraries: [/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libEGL.so]
-- Found: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libdrm.so
-- Header at: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/include
-- DW_EXPERIMENTAL_FORCE_EGL set and EGL Support Enabled
-- Cross Compiling for Vibrante
-- 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
-- Default - Building with TRT version 5.1.4.2 and cudnn version 7.5.1.14
-- Building GLFW for X11 (static)
-- Looking for XOpenDisplay in /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libX11.so;/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libXext.so
-- Looking for XOpenDisplay in /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libX11.so;/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - not found
-- Found X11: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/lib-target/libX11.so
-- VIBRANTE_PDK_BRANCH = 5.1.6.1
-- Found vibrante lib: /usr/local/driveworks-2.2/samples/3rdparty/linux-aarch64/vibrante/lib/libudev.so
-- Found vibrante lib: /usr/local/driveworks-2.2/samples/3rdparty/linux-aarch64/vibrante/lib/libusb-1.0.so
-- Found vibrante_Xlib: /usr/local/driveworks-2.2/samples/3rdparty/linux-aarch64/vibrante_Xlibs/lib/libXcursor.so
-- Driveworks Samples install dir: /usr/local/driveworks-2.2/samples/build/install
-- Cross Compiling for Vibrante
-- Driveworks found at: /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/local/driveworks-2.2/targets/aarch64-Linux
-- Found Driveworks
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/driveworks-2.2/samples/build
Then I run sudo make -j and I get tons of errors:
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: liblog4cxx.so.10, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_regex.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_system.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_thread.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_chrono.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_date_time.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_atomic.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libconsole_bridge.so.0.4, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_filesystem.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libboost_signals.so.1.65.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/toolchains/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/7.3.1/../../../../aarch64-linux-gnu/bin/ld: warning: libEGL.so.1, needed by /home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/usr/local/driveworks-2.2/targets/aarch64-Linux/lib/libnvinfer.so.5, not found (try using -rpath or -rpath-link)
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::spi::OptionHandler::getClass() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::thread::start_thread_noexcept()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `typeinfo for log4cxx::helpers::ObjectPtrBase'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::thread::detach()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::Object::getClass() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `virtual thunk to log4cxx::AppenderSkeleton::releaseRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::thread::hardware_concurrency()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `typeinfo for log4cxx::helpers::ObjectImpl'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::Level::getWarn()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Logger::getLogger(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::setOption(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::File::~File()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::ObjectPtrBase::exchange(void**, void*)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::spi::LocationInfo::getMethodName[abi:cxx11]() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::File::File(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::thread::native_handle()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Logger::getLogger(char const*)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::filesystem::detail::system_complete(boost::filesystem::path const&, boost::system::error_code*)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::system::system_category()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::Mutex::~Mutex()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::helpers::Object::getStaticClass()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::filesystem::detail::create_directory(boost::filesystem::path const&, boost::system::error_code*)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::Level::getInfo()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::ObjectImpl::~ObjectImpl()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::spi::LocationInfo::LocationInfo(char const*, char const*, int)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::spi::OptionHandler::getStaticClass()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::this_thread::interruption_point()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::getClass() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::raise_runtime_error(std::runtime_error const&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Appender::getClass() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::thread::thread()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::Pool::~Pool()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::Level::getDebug()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Logger::getRootLogger()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Appender::getStaticClass()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::clearFilters()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::Level::getError()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `virtual thunk to log4cxx::helpers::ObjectImpl::addRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::helpers::ObjectPtrBase::~ObjectPtrBase()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::releaseRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `vtable for boost::detail::thread_data_base'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Logger::getLoggerRepository() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libcpp_common.so: undefined reference to `console_bridge::log(char const*, int, console_bridge::LogLevel, char const*, ...)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::detail::get_current_thread_data()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::ObjectPtrBase::ObjectPtrBase()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::chrono::steady_clock::now()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::thread::joinable() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::get_default_error_string(boost::regex_constants::error_type)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::Level::getFatal()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Logger::isEnabledFor(log4cxx::helpers::ObjectPtrT<log4cxx::Level> const&) const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `typeinfo for log4cxx::Appender'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::ObjectImpl::ObjectImpl()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::filesystem::path::parent_path() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `typeinfo for log4cxx::AppenderSkeleton'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::this_thread::disable_interruption::disable_interruption()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::addFilter(log4cxx::helpers::ObjectPtrT<log4cxx::spi::Filter> const&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `virtual thunk to log4cxx::helpers::ObjectImpl::releaseRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::put_mem_block(void*)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `typeinfo for boost::detail::thread_data_base'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::verify_options(unsigned int, boost::regex_constants::_match_flags)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::doAppend(log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> const&, log4cxx::helpers::Pool&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::spi::LocationInfo::getFileName() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::detail::get_tss_data(void const*)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::addRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `log4cxx::Level::getStaticClass()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `virtual thunk to log4cxx::AppenderSkeleton::addRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::PropertyConfigurator::configure(log4cxx::File const&)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `typeinfo for log4cxx::spi::OptionHandler'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::Logger::forcedLog(log4cxx::helpers::ObjectPtrT<log4cxx::Level> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cxx::spi::LocationInfo const&) const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::this_thread::disable_interruption::~disable_interruption()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::ObjectImpl::releaseRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::thread::join_noexcept()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole.so: undefined reference to `boost::re_detail_106501::get_mem_block()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::system::generic_category()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::helpers::ObjectImpl::addRef() const'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::AppenderSkeleton::AppenderSkeleton()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/libroscpp.so: undefined reference to `boost::this_thread::yield()'
/home/nvidia/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-linux/targetfs_a/home/nvidia/ros_catkin_ws/install_isolated/lib/librosconsole_log4cxx.so: undefined reference to `log4cxx::spi::LocationInfo::getLineNumber() const'
collect2: error: ld returned 1 exit status
src/hello_world/CMakeFiles/sample_hello_world.dir/build.make:117: recipe for target 'src/hello_world/sample_hello_world' failed
I don’t know how to proceed with this strategy, so I tried this:
2. Including DriveWorks libraries from catkin_make_isolated
I tried modifying the CMakeLists.txt of a sample ROS node to include CUDA:
cmake_minimum_required(VERSION 2.8.3)
project(talker)
## Compile as C++11, supported in ROS Kinetic and newer
# add_compile_options(-std=c++11)
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
)
find_package(CUDA REQUIRED)
###########
## Build ##
###########
## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(
# include
${catkin_INCLUDE_DIRS}
)
## Declare a C++ executable
## With catkin_make all packages are built within a single CMake context
## The recommended prefix ensures that target names across packages don't collide
add_executable(${PROJECT_NAME}_node src/talker.cpp)
## Rename C++ executable without prefix
## The above recommended prefix causes long target names, the following renames the
## target back to the shorter version for ease of user use
## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node"
set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "")
## Add cmake target dependencies of the executable
## same as for the library above
add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
## Specify libraries to link a library or executable target against
target_link_libraries(${PROJECT_NAME}_node
${catkin_LIBRARIES}
)
I tried to build this inside the folder where I ran catkin_make_isolated to cross compile ROS:
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/nvidia/ros_catkin_ws/Toolchain-V5L.cmake
And I get this error:
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_INCLUDE_DIRS
CUDA_CUDART_LIBRARY) (found version "10.2")
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.10/Modules/FindCUDA.cmake:1080 (find_package_handle_standard_args)
CMakeLists.txt:16 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/nvidia/ros_catkin_ws/build_isolated/talker/CMakeFiles/CMakeOutput.log".
See also "/home/nvidia/ros_catkin_ws/build_isolated/talker/CMakeFiles/CMakeError.log".
Makefile:574: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
<== Failed to process package 'talker':
Command '['/home/nvidia/ros_catkin_ws/install_isolated/env.sh', 'make', 'cmake_check_build_system']' returned non-zero exit status 2
Reproduce this error by running:
==> cd /home/nvidia/ros_catkin_ws/build_isolated/talker && /home/nvidia/ros_catkin_ws/install_isolated/env.sh make cmake_check_build_system
Command failed, exiting.
I’d appreciate any support, this process hasn’t been straightforward and I don’t know how to proceed.
It would be an enormous help – not just to me, but to everyone trying to do the same thing – if NVIDIA could share a sample program that includes ROS and DriveWorks including the build system (samples for each on their own exist, but not together in one binary), or release a version of NvROS compatible with Drive Software 10.0.