-
Notifications
You must be signed in to change notification settings - Fork 105
Open
Description
Hi, I am trying to build from Source without docker. First time I got error due to stdgpu error. This was fixed with the given link nvidia-isaac/nvblox#69. I also had to go to the isaac_ros_nvblox/nvblox_ros CMakeList and change stdgpu to nvblox_stdgpu to make it build. Now the library fails with this error
CMake Error at /home/cerberus/Workspaces/isaac_ros_ws/install/nvblox_ros/share/nvblox_ros/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package):
Found package configuration file:
/home/cerberus/Workspaces/isaac_ros_ws/install/nvblox_ros/share/nvblox/cmake/nvbloxConfig.cmake
but it set nvblox_FOUND to FALSE so package "nvblox" is considered to be
NOT FOUND. Reason given by package:
The following imported targets are referenced, but are missing:
stdgpu::stdgpu
Call Stack (most recent call first):
/home/cerberus/Workspaces/isaac_ros_ws/install/nvblox_ros/share/nvblox_ros/cmake/nvblox_rosConfig.cmake:41 (include)
/opt/ros/humble/share/ament_cmake_auto/cmake/ament_auto_find_build_dependencies.cmake:67 (find_package)
CMakeLists.txt:22 (ament_auto_find_build_dependencies)
I then checked the nvbloxConfig.cmake and this is how it looks
# Generated by CMake
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
message(FATAL_ERROR "CMake >= 3.0.0 required")
endif()
if(CMAKE_VERSION VERSION_LESS "3.0.0")
message(FATAL_ERROR "CMake >= 3.0.0 required")
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 3.0.0...3.29)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
set(_cmake_targets_defined "")
set(_cmake_targets_not_defined "")
set(_cmake_expected_targets "")
foreach(_cmake_expected_target IN ITEMS nvblox::nvblox_lib nvblox::nvblox_gpu_hash nvblox::nvblox_datasets nvblox::nvblox_stdgpu nvblox::nvblox_eigen nvblox::fuse_3dmatch nvblox::fuse_replica)
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
if(TARGET "${_cmake_expected_target}")
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
else()
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
endif()
endforeach()
unset(_cmake_expected_target)
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)
unset(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)
return()
endif()
if(NOT _cmake_targets_defined STREQUAL "")
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
endif()
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
set(_IMPORT_PREFIX "")
endif()
# Create imported target nvblox::nvblox_lib
add_library(nvblox::nvblox_lib SHARED IMPORTED)
set_target_properties(nvblox::nvblox_lib PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/nvblox"
INTERFACE_LINK_LIBRARIES "glog::glog;gflags;nvblox::nvblox_eigen;CUDA::cudart;nvblox::nvblox_gpu_hash"
)
# Create imported target nvblox::nvblox_gpu_hash
add_library(nvblox::nvblox_gpu_hash STATIC IMPORTED)
set_target_properties(nvblox::nvblox_gpu_hash PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/nvblox"
INTERFACE_LINK_LIBRARIES "nvblox::nvblox_stdgpu;nvblox::nvblox_eigen;\$<LINK_ONLY:glog::glog>;\$<LINK_ONLY:gflags>"
)
# Create imported target nvblox::nvblox_datasets
add_library(nvblox::nvblox_datasets SHARED IMPORTED)
set_target_properties(nvblox::nvblox_datasets PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/nvblox"
INTERFACE_LINK_LIBRARIES "nvblox::nvblox_lib"
)
# Create imported target nvblox::nvblox_stdgpu
add_library(nvblox::nvblox_stdgpu INTERFACE IMPORTED)
set_target_properties(nvblox::nvblox_stdgpu PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/stdgpu;${_IMPORT_PREFIX}/include/nvblox"
INTERFACE_LINK_LIBRARIES "stdgpu::stdgpu"
)
# Create imported target nvblox::nvblox_eigen
add_library(nvblox::nvblox_eigen INTERFACE IMPORTED)
set_target_properties(nvblox::nvblox_eigen PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/eigen3;${_IMPORT_PREFIX}/include/nvblox"
INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "include/eigen3"
)
# Create imported target nvblox::fuse_3dmatch
add_executable(nvblox::fuse_3dmatch IMPORTED)
set_target_properties(nvblox::fuse_3dmatch PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/nvblox"
)
# Create imported target nvblox::fuse_replica
add_executable(nvblox::fuse_replica IMPORTED)
set_target_properties(nvblox::fuse_replica PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include/nvblox"
)
# Load information for each installed configuration.
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/nvbloxTargets-*.cmake")
foreach(_cmake_config_file IN LISTS _cmake_config_files)
include("${_cmake_config_file}")
endforeach()
unset(_cmake_config_file)
unset(_cmake_config_files)
# Cleanup temporary variables.
set(_IMPORT_PREFIX)
# Loop over all imported files and verify that they actually exist
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
if(CMAKE_VERSION VERSION_LESS "3.28"
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
if(NOT EXISTS "${_cmake_file}")
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
\"${_cmake_file}\"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
\"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
endif()
endforeach()
endif()
unset(_cmake_file)
unset("_cmake_import_check_files_for_${_cmake_target}")
endforeach()
unset(_cmake_target)
unset(_cmake_import_check_targets)
# Make sure the targets which have been exported in some other
# export set exist.
unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
foreach(_target "stdgpu::stdgpu" )
if(NOT TARGET "${_target}" )
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}")
endif()
endforeach()
if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
if(CMAKE_FIND_PACKAGE_NAME)
set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}")
else()
message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}")
endif()
endif()
unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)
Any ideas on how to fix this?
Hardware Info:
Jetson Orin Nano - Jetpack 6.2 - Ubuntu 22.04
Cuda 12.6
Metadata
Metadata
Assignees
Labels
No labels