From b17a8de89b0634d1541320bbdc2c8537aff652e3 Mon Sep 17 00:00:00 2001 From: Ramiro Serra Date: Tue, 12 Mar 2024 09:57:26 -0300 Subject: [PATCH 1/3] Add HDF5 dependency to beluga core Signed-off-by: Ramiro Serra --- beluga/CMakeLists.txt | 6 +++++- beluga/cmake/Config.cmake.in | 1 + beluga/package.xml | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/beluga/CMakeLists.txt b/beluga/CMakeLists.txt index 9949806e6..3e591e745 100644 --- a/beluga/CMakeLists.txt +++ b/beluga/CMakeLists.txt @@ -38,6 +38,8 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") endif() find_package(Eigen3 REQUIRED NO_MODULE) +find_package(HDF5 COMPONENTS CXX HL) + find_package(range-v3 REQUIRED) find_package(Sophus REQUIRED) find_package(TBB REQUIRED) @@ -46,10 +48,12 @@ add_library(${PROJECT_NAME} INTERFACE) target_include_directories( ${PROJECT_NAME} INTERFACE "$" - "$") + "$" + "${HDF5_INCLUDE_DIRS}") target_link_libraries( ${PROJECT_NAME} INTERFACE Eigen3::Eigen + hdf5::hdf5_hl_cpp Sophus::Sophus TBB::tbb range-v3::range-v3) diff --git a/beluga/cmake/Config.cmake.in b/beluga/cmake/Config.cmake.in index dcfb5f50f..4bc89f176 100644 --- a/beluga/cmake/Config.cmake.in +++ b/beluga/cmake/Config.cmake.in @@ -3,6 +3,7 @@ include(CMakeFindDependencyMacro) find_dependency(Eigen3 REQUIRED NO_MODULE) find_dependency(range-v3 REQUIRED) +find_dependency(HDF5 COMPONENTS CXX HL) find_dependency(Sophus REQUIRED) find_dependency(TBB REQUIRED) diff --git a/beluga/package.xml b/beluga/package.xml index 2cdcbf0f4..0c6e33fa2 100644 --- a/beluga/package.xml +++ b/beluga/package.xml @@ -15,6 +15,7 @@ cmake eigen + libhdf5-dev range-v3 sophus tbb From 289f33f14d89ecb17bd6c827a3261dc963b36ac3 Mon Sep 17 00:00:00 2001 From: Ramiro Serra Date: Tue, 12 Mar 2024 09:59:02 -0300 Subject: [PATCH 2/3] Remove blank line Signed-off-by: Ramiro Serra --- beluga/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/beluga/CMakeLists.txt b/beluga/CMakeLists.txt index 3e591e745..eae64b110 100644 --- a/beluga/CMakeLists.txt +++ b/beluga/CMakeLists.txt @@ -39,7 +39,6 @@ endif() find_package(Eigen3 REQUIRED NO_MODULE) find_package(HDF5 COMPONENTS CXX HL) - find_package(range-v3 REQUIRED) find_package(Sophus REQUIRED) find_package(TBB REQUIRED) From 222b45c42c3f4cccb5dc3da03c58d9806fa3c62f Mon Sep 17 00:00:00 2001 From: Ramiro Serra Date: Tue, 12 Mar 2024 16:29:13 -0300 Subject: [PATCH 3/3] Fix build for noetic Signed-off-by: Ramiro Serra --- beluga/CMakeLists.txt | 7 +++++-- beluga/cmake/Config.cmake.in | 2 +- docker/run.sh | 20 ++++++++++++++------ 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/beluga/CMakeLists.txt b/beluga/CMakeLists.txt index eae64b110..ba1217061 100644 --- a/beluga/CMakeLists.txt +++ b/beluga/CMakeLists.txt @@ -38,7 +38,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") endif() find_package(Eigen3 REQUIRED NO_MODULE) -find_package(HDF5 COMPONENTS CXX HL) +find_package( + HDF5 + COMPONENTS CXX + REQUIRED) find_package(range-v3 REQUIRED) find_package(Sophus REQUIRED) find_package(TBB REQUIRED) @@ -52,7 +55,7 @@ target_include_directories( target_link_libraries( ${PROJECT_NAME} INTERFACE Eigen3::Eigen - hdf5::hdf5_hl_cpp + ${HDF5_CXX_LIBRARIES} Sophus::Sophus TBB::tbb range-v3::range-v3) diff --git a/beluga/cmake/Config.cmake.in b/beluga/cmake/Config.cmake.in index 4bc89f176..8d7b0e44f 100644 --- a/beluga/cmake/Config.cmake.in +++ b/beluga/cmake/Config.cmake.in @@ -3,7 +3,7 @@ include(CMakeFindDependencyMacro) find_dependency(Eigen3 REQUIRED NO_MODULE) find_dependency(range-v3 REQUIRED) -find_dependency(HDF5 COMPONENTS CXX HL) +find_dependency(HDF5 COMPONENTS CXX REQUIRED) find_dependency(Sophus REQUIRED) find_dependency(TBB REQUIRED) diff --git a/docker/run.sh b/docker/run.sh index de627538e..769ad4716 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -66,10 +66,18 @@ while [[ "$1" != "" ]]; do esac done -# Note: The `--build` flag was added to docker compose run after -# https://github.com/docker/compose/releases/tag/v2.13.0. -# We have this for convenience and compatibility with previous versions. -# Otherwise, we could just forward the script arguments to the run verb. -[[ "$BUILD" = true ]] && docker compose build dev +DEV_CONTAINER_NAME=beluga_dev -PRIVILEGED_CONTAINER=$PRIVILEGED_CONTAINER USERID=$(id -u) GROUPID=$(id -g) docker compose run --rm dev +# Kill the container JIC it already exists, if building, to ensure we don't attach to an old container. +[[ "$BUILD" = true ]] && docker compose build dev && docker rm -f $DEV_CONTAINER_NAME 2>/dev/null + +# Check if the container exists +if docker ps -a --format '{{.Names}}' | grep -q $DEV_CONTAINER_NAME; then + # Attach to the container if it is running + echo "Found dev container running, attaching to it..." +else + echo "Container '$DEV_CONTAINER_NAME' does not exist or is not running, proceeding to run it." + PRIVILEGED_CONTAINER=$PRIVILEGED_CONTAINER USERID=$(id -u) GROUPID=$(id -g) docker compose run --rm --detach --name $DEV_CONTAINER_NAME dev +fi + +docker exec -it $DEV_CONTAINER_NAME /ros_entrypoint.sh /bin/bash