cartographer
cartographer copied to clipboard
Problem Compiling Cartographer ROS with catkin_make_isolated --install --use-ninja
Im tried to follow this guide: https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html
But when I run this line: catkin_make_isolated --install --use-ninja
I get this error:
Base path: /home/omi/catkin2_ws
Source space: /home/omi/catkin2_ws/src
Build space: /home/omi/catkin2_ws/build_isolated
Devel space: /home/omi/catkin2_ws/devel_isolated
Install space: /home/omi/catkin2_ws/install_isolated
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~ traversing 4 packages in topological order:
~~ - cartographer (plain cmake)
~~ - cartographer_ros_msgs
~~ - cartographer_ros
~~ - cartographer_rviz
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The packages or cmake arguments have changed, forcing cmake invocation
==> Processing plain cmake package: 'cartographer'
==> Creating build directory: 'build_isolated/cartographer/install'
==> cmake /home/omi/catkin2_ws/src/cartographer -DCMAKE_INSTALL_PREFIX=/home/omi/catkin2_ws/install_isolated -G Ninja in '/home/omi/catkin2_ws/build_isolated/cartographer/install'
-- The C compiler identification is GNU 10.5.0
-- The CXX compiler identification is GNU 10.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build type: Release
Files /home/omi/catkin2_ws/build_isolated/cartographer/install/AllFiles.cmake and - differ
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found GMock: /usr/lib/x86_64-linux-gnu/libgmock_main.a;/usr/lib/x86_64-linux-gnu/libgmock.a;/usr/lib/x86_64-linux-gnu/libgtest.a;-lpthread
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: iostreams
-- Found CXSparse: /usr/include/suitesparse (found suitable version "3.2.0", minimum required is "3.2.0")
-- Found BLAS: /usr/lib/x86_64-linux-gnu/libf77blas.so;/usr/lib/x86_64-linux-gnu/libatlas.so
-- Found AMD headers in: /usr/include/suitesparse
-- Found AMD library: /usr/lib/x86_64-linux-gnu/libamd.so
-- Found CAMD headers in: /usr/include/suitesparse
-- Found CAMD library: /usr/lib/x86_64-linux-gnu/libcamd.so
-- Found CCOLAMD headers in: /usr/include/suitesparse
-- Found CCOLAMD library: /usr/lib/x86_64-linux-gnu/libccolamd.so
-- Found CHOLMOD headers in: /usr/include/suitesparse
-- Found CHOLMOD library: /usr/lib/x86_64-linux-gnu/libcholmod.so
-- Found COLAMD headers in: /usr/include/suitesparse
-- Found COLAMD library: /usr/lib/x86_64-linux-gnu/libcolamd.so
-- Found SPQR headers in: /usr/include/suitesparse
-- Found SPQR library: /usr/lib/x86_64-linux-gnu/libspqr.so
-- Found Config headers in: /usr/include/suitesparse
-- Found Config library: /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so
-- Found Intel Thread Building Blocks (TBB) library (2020.1 / 11101) include location: . Assuming SuiteSparseQR was compiled with TBB.
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Adding librt to SuiteSparse_config libraries (required on Linux & Unix [not OSX] if SuiteSparse is compiled with timing).
-- Could NOT find METIS (missing: METIS_INCLUDE_DIR METIS_LIBRARY)
-- Found SuiteSparse: /usr/include/suitesparse (found suitable version "5.7.1", minimum required is "5.7.1") found components: AMD CAMD CCOLAMD CHOLMOD COLAMD SPQR Config
-- Found required Ceres dependency: Eigen version 3.3.7 in /usr/lib/cmake/eigen3
-- Found required Ceres dependency: glog
-- Found required Ceres dependency: gflags
-- Found Ceres version: 2.1.0 installed in: /usr/local with components: [EigenSparse, SparseLinearAlgebraLibrary, LAPACK, SuiteSparse, CXSparse, SchurSpecializations, Multithreading]
-- Found Lua: /usr/lib/x86_64-linux-gnu/liblua5.2.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.2.4")
-- Found Protobuf: /usr/local/lib/libprotobuf.so;-lpthread (found suitable version "3.4.0", minimum required is "3.0.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for one of the modules 'cairo>=1.12.16'
-- Found Sphinx: /usr/bin/sphinx-build
-- Configuring done
-- Generating done
-- Build files have been written to: /home/omi/catkin2_ws/build_isolated/cartographer/install
==> ninja -j12 -l12 in '/home/omi/catkin2_ws/build_isolated/cartographer/install'
[45/381] Building documentation.
Running Sphinx v1.8.5
making output directory...
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 6 source files that are out of date
updating environment: 6 added, 0 changed, 0 removed
reading sources... [ 16%] configuration
reading sources... [ 33%] cost_functions
reading sources... [ 50%] evaluation
reading sources... [ 66%] index
reading sources... [ 83%] pbstream_migration
reading sources... [100%] terminology
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 16%] configuration
writing output... [ 33%] cost_functions
writing output... [ 50%] evaluation
writing output... [ 66%] index
writing output... [ 83%] pbstream_migration
writing output... [100%] terminology
generating indices... genindex
writing additional pages... search
copying images... [ 50%] autogenerate_groundtruth.png
copying images... [100%] high_level_system_overview.png
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded.
The HTML pages are in html.
[145/381] Building CXX object CMakeFiles/cartographer.dir/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc.o
/home/omi/catkin2_ws/src/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc: In member function ‘void cartographer::mapping::scan_matching::CeresScanMatcher3D::Match(const Vector3d&, const Rigid3d&, const std::vector<cartographer::mapping::scan_matching::PointCloudAndHybridGridsPointers>&, cartographer::transform::Rigid3d*, ceres::Solver::Summary*) const’:
/home/omi/catkin2_ws/src/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:101:36: warning: ‘LocalParameterization’ is deprecated: LocalParameterizations will be removed from the Ceres Solver API in version 2.2.0. Use Manifolds instead. [-Wdeprecated-declarations]
[242/381] Linking CXX executable cartographer_pbstream
FAILED: cartographer_pbstream
: && /usr/bin/c++ -O3 -DNDEBUG -rdynamic CMakeFiles/cartographer_pbstream.dir/cartographer/io/pbstream_main.cc.o -o cartographer_pbstream -Wl,-rpath,/usr/local/lib: libcartographer.a /usr/local/lib/libceres.a -lglog /usr/lib/x86_64-linux-gnu/libspqr.so /usr/lib/x86_64-linux-gnu/libcholmod.so /usr/lib/x86_64-linux-gnu/libamd.so /usr/lib/x86_64-linux-gnu/libcamd.so /usr/lib/x86_64-linux-gnu/libccolamd.so /usr/lib/x86_64-linux-gnu/libcolamd.so /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so -lrt /usr/lib/x86_64-linux-gnu/libtbb.so.2 /usr/lib/x86_64-linux-gnu/libcxsparse.so -llapack -lf77blas -latlas -llua5.2 -lm /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.71.0 -lglog /usr/lib/x86_64-linux-gnu/libgflags.so.2.2.2 -lcairo /usr/local/lib/libprotobuf.so /usr/local/lib/libabsl_leak_check.a /usr/local/lib/libabsl_cord.a /usr/local/lib/libabsl_cordz_info.a /usr/local/lib/libabsl_cord_internal.a /usr/local/lib/libabsl_cordz_functions.a /usr/local/lib/libabsl_cordz_handle.a /usr/local/lib/libabsl_hash.a /usr/local/lib/libabsl_city.a /usr/local/lib/libabsl_bad_variant_access.a /usr/local/lib/libabsl_low_level_hash.a /usr/local/lib/libabsl_raw_hash_set.a /usr/local/lib/libabsl_bad_optional_access.a /usr/local/lib/libabsl_hashtablez_sampler.a /usr/local/lib/libabsl_exponential_biased.a /usr/local/lib/libabsl_str_format_internal.a /usr/local/lib/libabsl_synchronization.a /usr/local/lib/libabsl_stacktrace.a /usr/local/lib/libabsl_graphcycles_internal.a /usr/local/lib/libabsl_symbolize.a /usr/local/lib/libabsl_malloc_internal.a /usr/local/lib/libabsl_debugging_internal.a /usr/local/lib/libabsl_demangle_internal.a /usr/local/lib/libabsl_time.a /usr/local/lib/libabsl_strings.a /usr/local/lib/libabsl_strings_internal.a /usr/local/lib/libabsl_base.a -lpthread /usr/local/lib/libabsl_spinlock_wait.a -lrt /usr/local/lib/libabsl_throw_delegate.a /usr/local/lib/libabsl_raw_logging_internal.a /usr/local/lib/libabsl_log_severity.a /usr/local/lib/libabsl_int128.a /usr/local/lib/libabsl_civil_time.a /usr/local/lib/libabsl_time_zone.a -lpthread && :
/usr/bin/ld: libcartographer.a(serialization_format_migration.cc.o): in function `google::protobuf::RepeatedField<float>::Reserve(int)':
.
.
.
.
.
.
.
/usr/bin/ld: libcartographer.a(probability_grid_range_data_inserter_options_2d.pb.cc.o): in function `cartographer::mapping::proto::protobuf_cartographer_2fmapping_2fproto_2fprobability_5fgrid_5frange_5fdata_5finserter_5foptions_5f2d_2eproto::TableStruct::InitDefaultsImpl()':
probability_grid_range_data_inserter_options_2d.pb.cc:(.text+0x834): undefined reference to `google::protobuf::internal::OnShutdownDestroyMessage(void const*)'
/usr/bin/ld: libcartographer.a(probability_grid_range_data_inserter_options_2d.pb.cc.o): in function `void google::protobuf::Arena::Own<cartographer::mapping::proto::ProbabilityGridRangeDataInserterOptions2D>(cartographer::mapping::proto::ProbabilityGridRangeDataInserterOptions2D*)':
probability_grid_range_data_inserter_options_2d.pb.cc:(.text._ZN6google8protobuf5Arena3OwnIN12cartographer7mapping5proto41ProbabilityGridRangeDataInserterOptions2DEEEvPT_[_ZN6google8protobuf5Arena3OwnIN12cartographer7mapping5proto41ProbabilityGridRangeDataInserterOptions2DEEEvPT_]+0x11): undefined reference to `google::protobuf::internal::ArenaImpl::AddCleanup(void*, void (*)(void*))'
collect2: error: ld returned 1 exit status
[253/381] Building CXX object CMakeFiles/cartographer.mapping.internal.3d.scan...r/mapping/internal/3d/scan_matching/fast_correlative_scan_matcher_3d_test.cc.o
ninja: build stopped: subcommand failed.
<== Failed to process package 'cartographer':
Command '['ninja', '-j12', '-l12']' returned non-zero exit status 1.
Reproduce this error by running:
==> cd /home/omi/catkin2_ws/build_isolated/cartographer && ninja -j12 -l12
additional info:
built on ubuntu 20.04
cmake version 3.16.3
ceres-solver version 2.10
libprotoc 3.4.0
Eigen 3.3.7-2
Did you find a solution?