Error during compilation
Hi I am getting the following error during compilation:
[build] Found '151' packages in 0.0 seconds.
Starting >>> sekonix_camera
No handlers could be found for logger "trollius"ed] [sekonix_camera:cmake - 0.5]
Warnings << sekonix_camera:cmake /home/jptalledo/gitlab5/soads-ros/DAS/ros/logs/sekonix_camera/build.cmake.001.log
Driveworks include directory /home/jptalledo/driveos/drive-t186ref-linux/targetfs/usr/local/driveworks-3.0/include/
cd /home/jptalledo/gitlab5/soads-ros/DAS/ros/build/sekonix_camera; catkin build --get-env sekonix_camera | catkin env -si /usr/local/bin/cmake /home/jptalledo/gitlab5/soads-ros/DAS/ros/src/sekonix_camera --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/jptalledo/gitlab5/soads-ros/DAS/ros/devel/.private/sekonix_camera -DCMAKE_INSTALL_PREFIX=/home/jptalledo/gitlab5/soads-ros/DAS/ros/install -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/jptalledo/gitlab5/soads-ros/DAS/ros-xavier-toolchain.cmake -DVIBRANTE_PDK=/home/jptalledo/driveos/drive-t186ref-linux -DROOT_DIR=/home/jptalledo/driveos/drive-t186ref-linux/targetfs -Wno-deprecated -DArchType=aarch64-Linux; cd -
...........................................................................................................................................................................................................
Errors << sekonix_camera:make /home/jptalledo/gitlab5/soads-ros/DAS/ros/logs/sekonix_camera/build.make.000.log
/home/jptalledo/gitlab5/soads-ros/DAS/ros/src/sekonix_camera/src/CameraPort.cpp: In member function ‘void DriveWorks::CameraPort::ProcessCameraStreams(std::atomic_bool&, dwContextObject* const&)’:
/home/jptalledo/gitlab5/soads-ros/DAS/ros/src/sekonix_camera/src/CameraPort.cpp:102:90: warning: ‘dwStatus dwSensorCamera_readFrame(dwCameraFrame**, uint32_t, dwTime_t, dwSensorHandle_t)’ is deprecated: WARNING: dwSensorCamera_readFrame() will be deprecated from future releases Use dwSensorCamera_readFrameNew api instead and replace camera.gmsl.ipp with camera.gmsl. See the user guide for Camera SIPL Migration [-Wdeprecated-declarations]
status = dwSensorCamera_readFrame(&camera_frame_handle, ind_camera, 0, sensor_handle_);
^
In file included from /home/jptalledo/gitlab5/soads-ros/DAS/ros/src/sekonix_camera/include/CameraPort.h:6:0,
from /home/jptalledo/gitlab5/soads-ros/DAS/ros/src/sekonix_camera/src/CameraPort.cpp:1:
/home/jptalledo/driveos/drive-t186ref-linux/targetfs/usr/local/driveworks-3.0/targets/aarch64-Linux/include/dw/sensors/camera/Camera.h:229:10: note: declared here
dwStatus dwSensorCamera_readFrame(dwCameraFrameHandle_t* frameHandle, uint32_t sibling,
^~~~~~~~~~~~~~~~~~~~~~~~
/home/jptalledo/driveos/drive-t186ref-linux/targetfs/usr/lib/aarch64-linux-gnu/libxcb-shm.so.0.0.0: undefined reference to `xcb_send_request_with_fds'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/jptalledo/gitlab5/soads-ros/DAS/ros/devel/.private/sekonix_camera/lib/sekonix_camera/sekonix_camera_node] Error 1
make[1]: *** [CMakeFiles/sekonix_camera_node.dir/all] Error 2
make: *** [all] Error 2
cd /home/jptalledo/gitlab5/soads-ros/DAS/ros/build/sekonix_camera; catkin build --get-env sekonix_camera | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................................................................................................................................
Failed << sekonix_camera:make [ Exited with code 2 ]
Failed <<< sekonix_camera [ 9.7 seconds ]
[build] Summary: 0 of 1 packages succeeded.
[build] Ignored: 150 packages were skipped or are blacklisted.
[build] Warnings: 1 packages succeeded with warnings.
[build] Abandoned: None.
[build] Failed: 1 packages failed.
[build] Runtime: 10.0 seconds total.
Not sure if this ring a bell: /home/jptalledo/driveos/drive-t186ref-linux/targetfs/usr/lib/aarch64-linux-gnu/libxcb-shm.so.0.0.0: undefined reference to `xcb_send_request_with_fds'
I am using driverworks3-0 and the following Cmake file:
cmake_minimum_required(VERSION 3.14) project(sekonix_camera)
set(CMAKE_CXX_STANDARD 14)
add_subdirectory(${VIBRANTE_PDK}/targetfs/usr/local/driveworks-3.0/samples ${CMAKE_INSTALL_PREFIX}/driveworks)
FindDriveworks.cmake, ArchConfiguration.cmake, and LibFindMacros.cmake were needed for my setup they are taken from driveworks/samples/cmake/
ArchConfiguration.cmake was the only file that needed small changes, remove the fatal error on line 17 and add the following lines in its place
#add_subdirectory(${VIBRANTE_PDK}/targetfs/usr/local/driveworks-3.0/samples ${CMAKE_INSTALL_PREFIX}/driveworks)
set(VIBRANTE TRUE) add_definitions(-DVIBRANTE)
this is the path I placed the driveworks cmake files in
set(CMAKE_MODULE_PATH {CMAKE_MODULE_PATH} "{CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(glfw_INCLUDE_DIR ${VIBRANTE_PDK}/targetfs/usr/local/driveworks-3.0/samples/3rdparty/src/glfw/3.2-screen/include)
set(glfw_LIBRARY ${VIBRANTE_PDK}/targetfs/usr/local/driveworks-3.0/targets/aarch64-Linux/lib)
set(drive_t186ref_linux_INCLUDE_DIR ${VIBRANTE_PDK}/include)
link_directories(${glfw_LIBRARY})
SET THESE VARIABLES TO YOUR DRIVEWORKS LOCATIONS
set(Driveworks_INCLUDE_DIR ${VIBRANTE_PDK}/targetfs/usr/local/driveworks-3.0/include/) set(Driveworks_LIBRARY ${VIBRANTE_PDK}/targetfs/usr/local/driveworks-3.0/lib/) set(DriveworksVisualization_LIBRARY ${VIBRANTE_PDK}/targetfs/usr/local/driveworks-3.0/lib/libdriveworks_visualization.so)
#-------------------------------------------------------------------------------
CUDA host compiler must be set before CUDA is enabled as a language
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
Set CUDA_DIR
#------------------------------------------------------------------------------- #find_package(CUDAToolkit)
#set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER}) #enable_language(CUDA)
#find_package(CUDA REQUIRED) find_package(Threads REQUIRED) find_package(GLEW REQUIRED) find_package(Driveworks REQUIRED) find_package(OpenCV REQUIRED) #find_package(gflags REQUIRED)
find_package(catkin REQUIRED COMPONENTS roscpp geometry_msgs cv_bridge image_transport camera_info_manager )
set(DW_LIBRARIES
${Driveworks_LIBRARIES}
${DriveworksFramework_LIBRARIES}
${Boost_FILESYSTEM_LIBRARY}
${Boost_SYSTEM_LIBRARY}
pthread
samples_framework
{ROOT_DIR}/usr/local/driveworks-3.0/targets/{ArchType}/lib/libglfw.so
{ROOT_DIR}/usr/local/driveworks-3.0/targets/{ArchType}/lib/libprotobuf.so
${ROOT_DIR}/usr/lib/aarch64-linux-gnu/blas/libblas.so.3
${ROOT_DIR}/usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3
${ROOT_DIR}/usr/lib/aarch64-linux-gnu/libxerces-c-3.2.so
${ROOT_DIR}/usr/lib/aarch64-linux-gnu/libxcb-shm.so.0.0.0
) catkin_package( LIBRARIES ${PROJECT_NAME} ) link_directories( ${Driveworks_LIBRARY})
MESSAGE("Driveworks include directory ${Driveworks_INCLUDE_DIR}")
include_directories( ${catkin_INCLUDE_DIRS} ${Driveworks_INCLUDE_DIR} ${CUDA_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/src ${GLEW_INCLUDE_DIR} ${glfw_INCLUDE_DIR} ${drive_t186ref_linux_INCLUDE_DIR} include include/framework )
ros node name template
set(NODE_NAME ${PROJECT_NAME}_node)
add_executable(${NODE_NAME} src/main.cpp src/SekonixCamera.cpp src/DriveWorksApi.cpp src/DeviceArguments.cpp src/cv_connection.cpp src/CameraPort.cpp src/StopWatch.cpp src/PrintEventHandler.cpp)
target_link_libraries(${NODE_NAME} ${catkin_LIBRARIES} ${DW_LIBRARIES} nvmedia ${GLEW_LIBRARY} driveworks GLESv2 EGL drm ${CUDA_LIBRARIES} ${OpenCV_LIBS} )