Closed doisyg closed 6 months ago
I'm trying humble and seeing if the vendorization works, then I'll follow up with Iron https://github.com/ros/rosdistro/pull/40797
@Timple @agoeckner @nachovizzo we fail: https://build.ros2.org/job/Hbin_ujv8_uJv8__openvdb_vendor__ubuntu_jammy_arm64__binary/1/console
12:02:41 -- ----------------------------------------------------
12:02:41 -- ------------- Configuring OpenVDBCore --------------
12:02:41 -- ----------------------------------------------------
12:02:41 CMake Error at /usr/lib/aarch64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake:141 (find_package):
12:02:41 Could not find a package configuration file provided by "boost_iostreams"
12:02:41 (requested version 1.74.0) with any of the following names:
12:02:41
12:02:41 boost_iostreamsConfig.cmake
12:02:41 boost_iostreams-config.cmake
12:02:41
12:02:41 Add the installation prefix of "boost_iostreams" to CMAKE_PREFIX_PATH or
12:02:41 set "boost_iostreams_DIR" to a directory containing one of the above files.
12:02:41 If "boost_iostreams" provides a separate development package or SDK, be
12:02:41 sure it has been installed.
12:02:41 Call Stack (most recent call first):
12:02:41 /usr/lib/aarch64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake:258 (boost_find_component)
12:02:41 /usr/share/cmake-3.22/Modules/FindBoost.cmake:594 (find_package)
12:02:41 openvdb/openvdb/CMakeLists.txt:121 (find_package)
Missing dependency!
But, a good sign is that the source builds turn over https://build.ros2.org/job/Hsrc_uJ__spatio_temporal_voxel_layer__ubuntu_jammy__source/ so its just the details of getting the missing package.xml
dependencies. Can you look into the OpenVDB build and identify what else might be missing? I can run another release quickly
Strangely enough it works fine in a dockerfile:
FROM ros:humble
SHELL [ "/bin/bash", "-c" ]
RUN apt-get update -qq && apt-get install -qqy python3-colcon-core
RUN mkdir -p /ws/src
WORKDIR /ws
RUN git clone https://github.com/SteveMacenski/spatio_temporal_voxel_layer /ws/src/spatio_temporal_voxel_layer
RUN rosdep update && rosdep install --from-paths src --ignore-src -y
RUN source /opt/ros/iron/setup.bash && colcon build
But it seems it is required indeed. I'm a bit at the edge of my cmake knowledge here, but from why I can reproduce from this missing dependency, it seems the only missing dependency?
grep _DIR-ADVANCED build/openvdb_vendor/openvdb_vendor-prefix/src/openvdb_vendor-build/CMakeCache.txt
So added it now.
Ah, hold on. I need to isolate the openvdb_vendor package from the stvl. Because the dependencies come in indirectly.
Because the STVL layer is being built in the same workspace, so you're pulling in deps from the layer that might satisfy this. The vendor/layer are built completely isolated in the build farm
Ho lord! what a mesh... Getting closer anyways guys. I'm sorry I didn't see this coming, I do have this also as a 3rdparty dependency in vdbfusion, and for whatever reason, it didn't make it to my original PR . Sorry!
Hello, FYI and to track the issue: In preparation for the Humble release I tried to build STVL under Humble beta with Ubuntu 22.04 and the blocking point seems to be, surprise, the version of the OpenVDB package released in Ubuntu. My quick analysis of the cause:
Ubuntu 20.04/focal
to v8.1 inUbuntu 22.04/jammy
Ubuntu 20.04/focal
to 2021.5 inUbuntu 22.04/jammy
#include <tbb/task_scheduler_init.h>
https://github.com/AcademySoftwareFoundation/openvdb/blob/ea786c46b7a1b5158789293d9b148b379fc9914c/openvdb/openvdb/tools/VolumeToMesh.h#L21 See https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-threading-building-blocks-release-notes.html and https://github.com/DrTimothyAldenDavis/SuiteSparse/issues/72OpenVDB seems to already have a version (v8.2) compatible with TBB 2021.5 since november : https://github.com/AcademySoftwareFoundation/openvdb/releases/tag/v8.2.0. My guess is that releasing v8.2 instead of v8.1 to
Ubuntu 22.04/jammy
would solve the issue. I will try to file a bug report on launchpad hoping that it will be faster than https://bugs.launchpad.net/ubuntu/+source/openvdb/+bug/1882998 (remember https://github.com/SteveMacenski/spatio_temporal_voxel_layer/issues/167).(Side note, looking at OpenVDB release page: https://github.com/AcademySoftwareFoundation/openvdb/releases, I noticed the release of v9.0 with
It is GPU agnotic, more info: https://academysoftwarefoundation.github.io/openvdb/NanoVDB_FAQ.html @SteveMacenski, did you follow ? Maybe that's interesting to look at for STVL and voxels in nav2)