SteveMacenski / spatio_temporal_voxel_layer

A new voxel layer leveraging modern 3D graphics tools to modernize navigation environmental representations
http://wiki.ros.org/spatio_temporal_voxel_layer
GNU Lesser General Public License v2.1
612 stars 183 forks source link

colcon build error (humble) #289

Closed baoqianiii closed 3 months ago

baoqianiii commented 3 months ago

Hello author, thank you for such a perfect open source I got the following error when compiling this library, I tried to download openvdb and ament_cmake How do I solve this error Thanks

Could not find a package configuration file provided by "ament_cmake_vendor_package" with any of the following names:

ament_cmake_vendor_packageConfig.cmake
ament_cmake_vendor_package-config.cmake
SteveMacenski commented 3 months ago

Did you source your ROS distribution before trying to build? I can see this sometimes when I build without sourcing ROS, then source it once I notice. Nuke install/build and open a new terminal, source ROS, and try again :-)

baoqianiii commented 3 months ago

Did you source your ROS distribution before trying to build? I can see this sometimes when I build without sourcing ROS, then source it once I notice. Nuke install/build and open a new terminal, source ROS, and try again :-)

Thanks to the author for such a quick reply, I followed the source ros2 environment you said, but I still have the same problem, can you please tell me what causes this error?

SteveMacenski commented 3 months ago

I'm not sure - perhaps try Robotics stack exchange or clear your workspace (build, install, log), close your terminal, open a new one, source /opt/ros and try again

CharlesAntoineParent commented 3 months ago

Same problem under ros2 after sourcing my env. @baoqianiii How did you solve your problem ?

baoqianiii commented 3 months ago

Same problem under ros2 after sourcing my env. @baoqianiii How did you solve your problem ? Sorry, I didn't fix this, I tried a lot of methods. Do you have any ideas?

andrewjong commented 1 month ago

I still get this error on ROS2 Humble on Ubuntu 22.04.

--- stderr: openvdb_vendor                                                                                                                 
CMake Error at CMakeLists.txt:5 (find_package):
  By not providing "Findament_cmake_vendor_package.cmake" in
  CMAKE_MODULE_PATH this project has asked CMake to find a package
  configuration file provided by "ament_cmake_vendor_package", but CMake did
  not find one.

  Could not find a package configuration file provided by
  "ament_cmake_vendor_package" with any of the following names:

    ament_cmake_vendor_packageConfig.cmake
    ament_cmake_vendor_package-config.cmake

  Add the installation prefix of "ament_cmake_vendor_package" to
  CMAKE_PREFIX_PATH or set "ament_cmake_vendor_package_DIR" to a directory
  containing one of the above files.  If "ament_cmake_vendor_package"
  provides a separate development package or SDK, be sure it has been
  installed.

It seems ament_cmake_vendor_package was not added until ROS2 Irwin, which is after ROS2 Humble?

andrewjong commented 1 month ago

Nevermind, it seems it was added to Humble but doesn't come with Humble by default. Fixed with sudo apt install ros-humble-ament-cmake-vendor-package