-
Notifications
You must be signed in to change notification settings - Fork 856
Description
Hello
[Update: Branch 4.2.0 is building ok, this error lies only with latest devel branch]
I am attempting to build gtsam on Ubuntu 24 lts
Following the build commands:
git clone --recursive <repo_url>
cd gtsam
mkdir build
cd build
cmake ..
make
I get cmake output:
-- The CXX compiler identification is GNU 13.3.0
-- The C compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- GTSAM_POSE3_EXPMAP=ON, enabling GTSAM_ROT3_EXPMAP as well
-- Performing Test COMPILER_HAS_WSUGGEST_OVERRIDE
-- Performing Test COMPILER_HAS_WSUGGEST_OVERRIDE - Success
-- Performing Test COMPILER_HAS_WMISSING_OVERRIDE
-- Performing Test COMPILER_HAS_WMISSING_OVERRIDE - Failed
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.83.0/BoostConfig.cmake (found suitable version "1.83.0", minimum required is "1.65") found components: serialization system filesystem thread program_options date_time timer chrono regex
-- Found Eigen version: 3.4.0
CMake Deprecation Warning at gtsam/3rdparty/metis/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for getline
-- Looking for getline - found
-- checking for thread-local storage - found
-- Could NOT find MKL (missing: MKL_INCLUDE_DIR MKL_LIBRARIES)
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Building 3rdparty
-- Could NOT find GeographicLib (missing: GeographicLib_LIBRARY_DIRS GeographicLib_LIBRARIES GeographicLib_INCLUDE_DIRS)
-- Building base
-- Building basis
-- Building constrained
-- Building geometry
-- Building inference
-- Building symbolic
-- Building discrete
-- Building hybrid
-- Building linear
-- Building nonlinear
-- Building sam
-- Building sfm
-- Building slam
-- Building navigation
-- GTSAM Version: 4.3a0
-- Install prefix: /usr/local
-- Building GTSAM - as a SHARED library
-- Building base_unstable
-- Building geometry_unstable
-- Building linear_unstable
-- Building discrete_unstable
-- Building dynamics_unstable
-- Building nonlinear_unstable
-- Building slam_unstable
-- Building partition_unstable
-- GTSAM_UNSTABLE Version: 4.3a0
-- Install prefix: /usr/local
-- Wrote /home/adam/gtsam/build/GTSAMConfig.cmake
-- Wrote /home/adam/gtsam/build/GTSAM_UNSTABLEConfig.cmake
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- ===============================================================
-- ================ Configuration Options ======================
-- CMAKE_CXX_COMPILER_ID type : GNU
-- CMAKE_CXX_COMPILER_VERSION : 13.3.0
-- CMake version : 3.28.3
-- CMake generator : Unix Makefiles
-- CMake build tool : /usr/bin/gmake
-- Build flags
-- Build Tests : Enabled
-- Build examples with 'make all' : Enabled
-- Build timing scripts with 'make all' : Disabled
-- Build shared GTSAM libraries : Enabled
-- Put build type in library name : Enabled
-- Build libgtsam_unstable : Enabled
-- Build GTSAM unstable Python : Enabled
-- Build MATLAB Toolbox for unstable : Disabled
-- Build for native architecture : Disabled
-- Build type : Release
-- C compilation flags : -O3 -DNDEBUG
-- C++ compilation flags : -O3 -DNDEBUG
-- Enable Boost serialization : ON
-- GTSAM_COMPILE_FEATURES_PUBLIC : cxx_std_17
-- GTSAM_COMPILE_OPTIONS_PUBLIC :
-- GTSAM_COMPILE_DEFINITIONS_PUBLIC :
-- GTSAM_COMPILE_OPTIONS_PUBLIC_RELEASE :
-- GTSAM_COMPILE_DEFINITIONS_PUBLIC_RELEASE :
-- Use System Eigen : false (Using version: 3.4.0)
-- Use System Metis : OFF
-- Using Boost version : 1.83.0
-- Use Intel TBB : Yes (Version: 2021.11.0)
-- Eigen will use MKL : MKL not found
-- Eigen will use MKL and OpenMP : OpenMP found but GTSAM_WITH_EIGEN_MKL is disabled
-- Default allocator : TBB
-- Cheirality exceptions enabled : YES
-- Build with ccache : Yes
-- Packaging flags
-- CPack Source Generator : TGZ
-- CPack Generator : TGZ
-- GTSAM flags
-- Quaternions as default Rot3 : Disabled
-- Runtime consistency checking : Disabled
-- Build with Memory Sanitizer : Disabled
-- Rot3 retract is full ExpMap : Enabled
-- Pose3 retract is full ExpMap : Enabled
-- Enable branch merging in DecisionTree : Enabled
-- Enable timing machinery : Disabled
-- Allow features deprecated in GTSAM 4.3 : Enabled
-- Metis-based Nested Dissection : Enabled
-- Use tangent-space preintegration : Enabled
-- MATLAB toolbox flags
-- Install MATLAB toolbox : Disabled
-- Python toolbox flags
-- Build Python module with pybind : Disabled
-- ===============================================================
-- Configuring done (1.1s)
-- Generating done (1.1s)
-- Build files have been written to: /home/adam/gtsam/build
Then, after running make, he following error is received:
in file included from /usr/include/eigen3/Eigen/Core:294,
from /usr/include/eigen3/Eigen/Dense:1,
from /home/adam/gtsam/gtsam/base/OptionalJacobian.h:24,
from /home/adam/gtsam/gtsam/base/Matrix.h:27,
from /home/adam/gtsam/gtsam/geometry/FundamentalMatrix.cpp:8:
In copy constructor ‘Eigen::PlainObjectBase::PlainObjectBase(const Eigen::PlainObjectBase&) [with Derived = Eigen::Matrix<double, 3, 1>]’,
inlined from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>&) [with _Scalar = double; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’ at /usr/include/eigen3/Eigen/src/Core/Matrix.h:414:65,
inlined from ‘gtsam::FundamentalMatrix::FundamentalMatrix(const gtsam::Matrix3&)’ at /home/adam/gtsam/gtsam/geometry/FundamentalMatrix.cpp:43:47:
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:512:17: error: ‘(double)((char*)&svd + offsetof(Eigen::JacobiSVD<Eigen::Matrix<double, 3, 3, 0, 3, 3>, 2>,Eigen::JacobiSVD<Eigen::Matrix<double, 3, 3, 0, 3, 3>, 2>::.Eigen::SVDBase<Eigen::JacobiSVD<Eigen::Matrix<double, 3, 3, 0, 3, 3>, 2> >::m_singularValues.Eigen::Matrix<double, 3, 1, 0, 3, 1>::.Eigen::PlainObjectBase<Eigen::Matrix<double, 3, 1, 0, 3, 1> >::m_storage.Eigen::DenseStorage<double, 3, 3, 1, 0>::m_data.Eigen::internal::plain_array<double, 3, 0, 0>::array[2]))’ may be used uninitialized [-Werror=maybe-uninitialized]
512 | : Base(), m_storage(other.m_storage) { }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/adam/gtsam/gtsam/geometry/FundamentalMatrix.cpp: In constructor ‘gtsam::FundamentalMatrix::FundamentalMatrix(const gtsam::Matrix3&)’:
/home/adam/gtsam/gtsam/geometry/FundamentalMatrix.cpp:38:29: note: ‘svd’ declared here
38 | Eigen::JacobiSVD svd(F, Eigen::ComputeFullU | Eigen::ComputeFullV);
| ^~~
cc1plus: all warnings being treated as errors
Two odd things:
-It's appearing to use my system eigen, even though it should not be
-My system eigen is also version 3.4, so should behave the same as the built in eigen.
How can I disable these 'warnings as errors' ?
Thanks for your help