Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libeigen3-dev missing in the install dependency list #152

Open
VRichardJP opened this issue Feb 17, 2025 · 0 comments
Open

libeigen3-dev missing in the install dependency list #152

VRichardJP opened this issue Feb 17, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@VRichardJP
Copy link

VRichardJP commented Feb 17, 2025

While preparing a custom dockerfile for GLIM I have observed libeigen3-dev is missing from the installation dependencies described at https://koide3.github.io/glim/installation.html. Based on the HTML documentation I wrote the following dockerfile:

FROM nvidia/cuda:12.8.0-devel-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive

# ...

# Install dependencies
RUN apt-get update && apt install -y \
  libomp-dev libboost-all-dev libmetis-dev libfmt-dev \
  libspdlog-dev libglm-dev libglfw3-dev libpng-dev libjpeg-dev \
  && rm -rf /var/lib/apt/lists/*

# Install GTSAM
RUN cd / && git clone https://github.com/borglab/gtsam \
  && cd gtsam && git checkout 4.2a9 \
  && mkdir build && cd build \
  && cmake .. -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF \
           -DGTSAM_BUILD_TESTS=OFF \
           -DGTSAM_WITH_TBB=OFF \
           -DGTSAM_USE_SYSTEM_EIGEN=ON \
           -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF \
  && make -j8 \
  && make install

# ...

This dockerfile fails to build because eigen3 is not found during GTSAM cmake configuration:

[...]
#11 15.56 -- GTSAM_POSE3_EXPMAP=ON, enabling GTSAM_ROT3_EXPMAP as well
#11 16.10 -- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.65") found components: serialization system filesystem thread program_options date_time timer chrono regex 
#11 16.10 CMake Error at cmake/HandleEigen.cmake:14 (find_package):
#11 16.10   Could not find a package configuration file provided by "Eigen3" with any
#11 16.10   of the following names:
#11 16.10 
#11 16.10     Eigen3Config.cmake
#11 16.10     eigen3-config.cmake
#11 16.10 
#11 16.10   Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
#11 16.10   "Eigen3_DIR" to a directory containing one of the above files.  If "Eigen3"
#11 16.10   provides a separate development package or SDK, be sure it has been
#11 16.10   installed.
#11 16.10 Call Stack (most recent call first):
#11 16.10   CMakeLists.txt:57 (include)
#11 16.10 
#11 16.10 
#11 16.10 -- Configuring incomplete, errors occurred!
#11 16.10 See also "/gtsam/build/CMakeFiles/CMakeOutput.log".
#11 16.10 See also "/gtsam/build/CMakeFiles/CMakeError.log".

Adding libeigen3-dev solves the issue.

@VRichardJP VRichardJP added the bug Something isn't working label Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant