Conan-center-index: [package] <gtsam>/<4.0.2>: fail build gcc/linux

Created on 29 Sep 2020  路  3Comments  路  Source: conan-io/conan-center-index

Conan Text (conanfile.txt

[requires]
gtsam/4.0.2

[generators]
cmake

[options]
gtsam:shared=True

Package and Environment Details (include every applicable attribute)

  • Package Name/Version: gtsam/4.0.2
  • Operating System+version: Linux 5.8.12-arch1-1
  • Compiler+version: GCC 10.2.0
  • Conan version: conan 1.29.2
  • Python version: Python 3.8.5

Conan profile (output of conan profile show default or conan profile show <profile> if custom profile is in use)

[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=10
compiler.libcxx=libstdc++11
build_type=Release
[options]
[build_requires]
[env]

Steps to reproduce (Include if Applicable)

conan install --build=missing

Logs (Include/Attach if Applicable)

Click to expand log

Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=10
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

conanfile.txt: Installing package
Requirements
    boost/1.71.0 from 'conan-center' - Cache
    bzip2/1.0.8 from 'conan-center' - Cache
    eigen/3.3.7 from 'conan-center' - Cache
    gtsam/4.0.2 from 'conan-center' - Cache
    zlib/1.2.11 from 'conan-center' - Cache
Packages
    boost/1.71.0:104297d4d8bdbca7e9351b0f32c32f11628164c7 - Cache
    bzip2/1.0.8:91a8b22c2c5a149bc617cfc06cdd21bf23b12567 - Cache
    eigen/3.3.7:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    gtsam/4.0.2:e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5 - Build
    zlib/1.2.11:19729b9559f3ae196cad45cb2b97468ccb75dcd1 - Cache

Installing (downloading, building) binaries...
bzip2/1.0.8: Already installed!
eigen/3.3.7: Already installed!
zlib/1.2.11: Already installed!
boost/1.71.0: Already installed!
boost/1.71.0: LIBRARIES: ['boost_wave', 'boost_container', 'boost_contract', 'boost_exception', 'boost_graph', 'boost_iostreams', 'boost_locale', 'boost_log', 'boost_program_options', 'boost_random', 'boost_regex', 'boost_serialization', 'boost_wserialization', 'boost_coroutine', 'boost_fiber', 'boost_context', 'boost_timer', 'boost_thread', 'boost_chrono', 'boost_date_time', 'boost_atomic', 'boost_filesystem', 'boost_system', 'boost_type_erasure', 'boost_log_setup', 'boost_math_c99', 'boost_math_c99f', 'boost_math_c99l', 'boost_math_tr1', 'boost_math_tr1f', 'boost_math_tr1l', 'boost_stacktrace_addr2line', 'boost_stacktrace_basic', 'boost_stacktrace_noop', 'boost_unit_test_framework']
boost/1.71.0: Package folder: /home/horky/.conan/data/boost/1.71.0/_/_/package/104297d4d8bdbca7e9351b0f32c32f11628164c7
gtsam/4.0.2: Copying sources to build folder
gtsam/4.0.2: Building your package in /home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5
gtsam/4.0.2: Generator cmake created conanbuildinfo.cmake
gtsam/4.0.2: Calling build()
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- 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
-- 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
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan: Adjusting fPIC flag (ON)
-- Conan: Compiler GCC>=5, checking major version 10
-- Conan: Checking correct version: 10
-- Conan: C++ stdlib: libstdc++11
-- GTSAM_SOURCE_ROOT_DIR: [/home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5/source_subfolder]
-- Found Boost: /usr/lib64/cmake/Boost-1.72.0/BoostConfig.cmake (found suitable version "1.72.0", minimum required is "1.43") found components: serialization system filesystem thread program_options date_time timer chrono regex 
-- GTSAM_BOOST_LIBRARIES: optimized;/usr/lib64/libboost_serialization.a;optimized;/usr/lib64/libboost_system.a;optimized;/usr/lib64/libboost_filesystem.a;optimized;/usr/lib64/libboost_thread.a;optimized;/usr/lib64/libboost_date_time.a;optimized;/usr/lib64/libboost_regex.a;debug;debug;debug;debug;debug;debug
-- Found TBB: /usr/include (found suitable version "2020.3", minimum required is "4.4") found components: tbb tbbmalloc 
-- Found Google perftools: 
-- 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")  
-- Found Eigen3: /home/horky/.conan/data/eigen/3.3.7/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/eigen3 (Required is at least version "2.91.0") 
-- Found Eigen version: 3.3.7
-- Building 3rdparty
-- Could NOT find GeographicLib (missing: GeographicLib_LIBRARY_DIRS GeographicLib_LIBRARIES GeographicLib_INCLUDE_DIRS) 
-- Building base
-- Building geometry
-- Building inference
-- Building symbolic
-- Building discrete
-- Building linear
-- Building nonlinear
-- Building sam
-- Building sfm
-- Building slam
-- Building smart
-- Building navigation
-- GTSAM Version: 4.0.2
-- Install prefix: /home/horky/.conan/data/gtsam/4.0.2/_/_/package/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5
-- Building GTSAM - shared: True
CMake Error at source_subfolder/gtsam/CMakeLists.txt:108 (target_link_libraries):
  The "debug" argument must be followed by a library.


-- Configuring incomplete, errors occurred!
See also "/home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5/build_subfolder/CMakeFiles/CMakeOutput.log".
See also "/home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5/build_subfolder/CMakeFiles/CMakeError.log".
gtsam/4.0.2: 
gtsam/4.0.2: WARN: Package is corrupted, removing folder: /home/horky/.conan/data/gtsam/4.0.2/_/_/package/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5
gtsam/4.0.2: WARN: Build folder is dirty, removing it: /home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5
gtsam/4.0.2: ERROR: Package 'e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5' build failed
gtsam/4.0.2: WARN: Build folder /home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5
ERROR: gtsam/4.0.2: Error in build() method, line 151
    cmake = self._configure_cmake()
while calling '_configure_cmake', line 101
    self._cmake.configure(build_folder=self._build_subfolder)
    ConanException: Error 1 while executing cd '/home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5/build_subfolder' && cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE="Release" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="gcc" -DCONAN_COMPILER_VERSION="10" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DBUILD_SHARED_LIBS="True" -DCMAKE_INSTALL_PREFIX="/home/horky/.conan/data/gtsam/4.0.2/_/_/package/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCONAN_CMAKE_POSITION_INDEPENDENT_CODE="ON" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -DGTSAM_USE_QUATERNIONS="False" -DGTSAM_POSE3_EXPMAP="False" -DGTSAM_ROT3_EXPMAP="False" -DGTSAM_ENABLE_CONSISTENCY_CHECKS="False" -DGTSAM_WITH_TBB="False" -DGTSAM_WITH_EIGEN_MKL="False" -DGTSAM_WITH_EIGEN_MKL_OPENMP="False" -DGTSAM_THROW_CHEIRALITY_EXCEPTION="True" -DGTSAM_ALLOW_DEPRECATED_SINCE_V4="True" -DGTSAM_TYPEDEF_POINTS_TO_VECTORS="False" -DGTSAM_SUPPORT_NESTED_DISSECTION="False" -DGTSAM_TANGENT_PREINTEGRATION="False" -DGTSAM_BUILD_UNSTABLE="True" -DGTSAM_DISABLE_NEW_TIMERS="False" -DGTSAM_BUILD_TYPE_POSTFIXES="True" -DGTSAM_BUILD_TESTS="False" -DBoost_USE_STATIC_LIBS="True" -DBoost_NO_SYSTEM_PATHS="True" -DGTSAM_BUILD_DOCS="False" -DGTSAM_BUILD_DOC_HTML="False" -DGTSAM_BUILD_EXAMPLES_ALWAYS="False" -DGTSAM_BUILD_WRAP="False" -DGTSAM_WRAP_SERIALIZATION="True" -DGTSAM_INSTALL_MATLAB_TOOLBOX="False" -DGTSAM_INSTALL_CYTHON_TOOLBOX="False" -DGTSAM_INSTALL_CPPUNITLITE="True" -DGTSAM_INSTALL_GEOGRAPHICLIB="False" -DGTSAM_USE_SYSTEM_EIGEN="True" -Wno-dev '/home/horky/.conan/data/gtsam/4.0.2/_/_/build/e84ba7e4383ddc0c713f43f9b89fc9494ab93bc5'

bug

All 3 comments

One way or another, gtsam is detecting the system boost libraries instead of the ones from conan.
See the line

-- GTSAM_BOOST_LIBRARIES: optimized;/usr/lib64/libboost_serialization.a;optimized;/usr/lib64/libboost_system.a;optimized;/usr/lib64/libboost_filesystem.a;optimized;/usr/lib64/libboost_thread.a;optimized;/usr/lib64/libboost_date_time.a;optimized;/usr/lib64/libboost_regex.a;debug;debug;debug;debug;debug;debug

Before looking deeper, may I suggest removing all packages and installing them again to make sure you're using the most recent ones?

for package in boost bzip2 eigen gtsam zlib; do
    conan remove -f $package
done

@madebr works now thanks, but how to force in future to detect ONLY conan libs?

@madebr works now thanks, but how to force in future to detect ONLY conan libs?

We can never be 100% certain because some build scripts try very hard to find their dependencies.
There are some ways to mitigate:

  • use the latest cci recipes which work :crossed_fingers: (if not, please open a bug report)
  • build on a minimal machine, which has no development libraries installed
  • use docker images
Was this page helpful?
0 / 5 - 0 ratings

Related issues

Croydon picture Croydon  路  3Comments

xiazhibin picture xiazhibin  路  3Comments

rbrich picture rbrich  路  3Comments

mmha picture mmha  路  3Comments

IceflowRE picture IceflowRE  路  3Comments