isaac_ros_common icon indicating copy to clipboard operation
isaac_ros_common copied to clipboard

Finding PCL dependency fails in Dev environment built with Dockerfile.x86_64

Open akupferb opened this issue 6 months ago • 0 comments

I used run_dev.sh to build the base Docker image on the host platform (x86_64). I then built another Docker image layer on top of this base image that includes debian install of the pcl packages:

RUN apt-get update && apt-get install -y \
    [...]
    ros-humble-pcl-conversions \
    ros-humble-pcl-msgs \

However, when then building a set of my own ros2 packages with colcon build (inside the Docker container as part of another Dockerfile image layer on top), which contain a dependency on PCL and have the corresponding build depends, find()s, and includes in package.xml/CMakeLists.txt, I get the following Cmake build error:

Imported target "MPI::MPI_C" includes non-existent path
    "/opt/hpcx/ompi/lib/x86_64-linux-gnu/openmpi/include"
  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.
  * An install or uninstall procedure did not complete successfully.
  * The installation package was faulty and references files it does not
  provide.

CMake Error at /usr/share/cmake-3.22/Modules/FindMPI.cmake:1264 (try_compile):
  Failed to generate test project build system.
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindMPI.cmake:1315 (_MPI_try_staged_settings)
  /usr/share/cmake-3.22/Modules/FindMPI.cmake:1638 (_MPI_check_lang_works)
  /usr/lib/x86_64-linux-gnu/cmake/vtk-9.1/VTK-vtk-module-find-packages.cmake:397 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/vtk-9.1/vtk-config.cmake:150 (include)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:270 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:319 (find_VTK)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:540 (find_external_library)
  CMakeLists.txt:19 (find_package)


gmake: *** [Makefile:308: cmake_check_build_system] Error 1

Notably:

  • This error did not occur before the switch to Isaac-ROS 3 and the change of the 'run_dev' build process.
  • This error does not occur when compiled for arm64 with the "Dockerfile.aarch64" and the rest being the same set of build steps.

akupferb avatar Aug 26 '24 06:08 akupferb