Git Product home page Git Product logo

Comments (4)

fratopa avatar fratopa commented on June 11, 2024

I have the same setup as you do and i encountered a very similar error:

[ 15%] Performing build step for 'viz3d'
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/lib/ccache/cc
-- Check for working C compiler: /usr/lib/ccache/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/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at cmake/external.cmake:8 (find_package):
  By not providing "Findglog.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "glog", but
  CMake did not find one.

  Could not find a package configuration file provided by "glog" with any of
  the following names:

    glogConfig.cmake
    glog-config.cmake

  Add the installation prefix of "glog" to CMAKE_PREFIX_PATH or set
  "glog_DIR" to a directory containing one of the above files.  If "glog"
  provides a separate development package or SDK, be sure it has been
  installed.
Call Stack (most recent call first):
  CMakeLists.txt:11 (include)


-- Configuring incomplete, errors occurred!
See also "/home/MyUserName/ct_icp/.cmake-build-superbuild/MappingResearchKEU_superbuild/src/MappingResearchKEU_superbuild-build/viz3d/src/viz3d-build/CMakeFiles/CMakeOutput.log".
make[5]: *** [CMakeFiles/viz3d.dir/build.make:113: viz3d/src/viz3d-stamp/viz3d-build] Error 1
make[4]: *** [CMakeFiles/Makefile2:124: CMakeFiles/viz3d.dir/all] Error 2
make[3]: *** [Makefile:130: all] Error 2
make[2]: *** [CMakeFiles/MappingResearchKEU_superbuild.dir/build.make:112: MappingResearchKEU_superbuild/src/MappingResearchKEU_superbuild-stamp/MappingResearchKEU_superbuild-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/MappingResearchKEU_superbuild.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Have you found a way to deal with the glog problem?

from ct_icp.

fratopa avatar fratopa commented on June 11, 2024

Moving from Gcc 9.4.0 to gcc 11.1.0 solved the glog problem, I still have more but its a step forward I guess. You can check issue 67 to check where I get stuck now

from ct_icp.

pierdell avatar pierdell commented on June 11, 2024

Thank you for sharing your advanced work. I met an issue during step1. It seems that the installed glog in my system conflicts with the glog linked by superbuild.

Environment

System ROS GCC Cmake
Ubuntu 20.04 noetic 9.4.0 3.25.0

Issue

Issue appeared when using command cmake --build . --config Release in Step 1 Output (part)

[ 36%] Linking CXX shared library libglog.so
/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: 最后的链结失败: bad value
collect2: error: ld returned 1 exit status
make[8]: *** [CMakeFiles/glog.dir/build.make:194:libglog.so.0.5.0] 错误 1
make[7]: *** [CMakeFiles/Makefile2:853:CMakeFiles/glog.dir/all] 错误 2
make[6]: *** [Makefile:166:all] 错误 2
make[5]: *** [CMakeFiles/glog.dir/build.make:86:glog/src/glog-stamp/glog-build] 错误 2
make[4]: *** [CMakeFiles/Makefile2:154:CMakeFiles/glog.dir/all] 错误 2
make[3]: *** [Makefile:136:all] 错误 2
make[2]: *** [CMakeFiles/MappingResearchKEU_superbuild.dir/build.make:86:MappingResearchKEU_superbuild/src/MappingResearchKEU_superbuild-stamp/MappingResearchKEU_superbuild-build] 错误 2
make[1]: *** [CMakeFiles/Makefile2:83:CMakeFiles/MappingResearchKEU_superbuild.dir/all] 错误 2
make: *** [Makefile:91:all] 错误 2

Possible Cause

Conflict between glog and gflags. Maybe superbuild links one using its static library while links the other using its dynamic library.

You could also maybe try to build glog without gflags,

(See the CMakeLists.txt from gflags:

https://github.com/google/glog/blob/674283420118bb919f83ceb3d9dee31ef43ff3aa/CMakeLists.txt#L40
)

And set -DWITH_GFLAGS=OFF in the relevant script

(see https://gitlab.kitware.com/keu-computervision/MappingResearchKEU/Superbuild/-/blob/master/CMakeLists.txt#L85 )

from ct_icp.

gitouni avatar gitouni commented on June 11, 2024

I appreciate the replies from @pierdell and @fratopa. I have solved this problem in a manual way.

First, add -DWITH_GFLAGS=OFF config in .cmake-build-superbuild/MappingResearchKEU_superbuild/src/MappingResearchKEU_superbuild/CMakeLists.txt does fix the bug in the Step 1, but the same bug emegered at my step 2. To fix it, we need to manually change the static link files to the dynamic ones in link.txt.

1. First, run the first two commands of Step 2:

mkdir cmake-build-release && cd  cmake-build-release  
cmake .. -DCMAKE_BUILD_TYPE=Release 

2. Second, manually modify the link.txt files.

  • For SlamCore:
cd /path/to/root/
cd cmake-build-release/src/ct_icp/CMakeFiles/CT_ICP.dir
gedit link.txt

Then, substitute each libglog.a with libglog.so.

  • The similar operation for ct_icp:
cd /path/to/root/
cd cmake-build-release/src/ct_icp/CMakeFiles/CT_ICP.dir
gedit link.txt

Then, substitute each libgflas.a with libgflags.so.

3. run the third command line of Step 2

cmake --build . --target install --config Release -j 12 

Cmake Passed!

...
-- Up-to-date: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/include/SlamCore/cereal.h
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/target_utils.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/utils.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/test_utils.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/includes.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/project_config.cmake.in
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/install_utils.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/viz3d_utils.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/superbuild_utils.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/external.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib/cmake/cmake/flags.cmake
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/test/all_tests
-- Set runtime path of "/home/bit/CODE/Drivers/ct_icp/install/CT_ICP/test/all_tests" to ":/usr/local/lib:/usr/local/lib:/home/bit/CODE/Drivers/ct_icp/install/yaml-cpp/lib:/home/bit/CODE/Drivers/ct_icp/install/tinyply/lib:/home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib:/home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib:/usr/local/lib:/usr/local/cuda-11.1/lib64"
-- Installing: /home/bit/CODE/Drivers/ct_icp/install/CT_ICP/bin/run_odometry
-- Set runtime path of "/home/bit/CODE/Drivers/ct_icp/install/CT_ICP/bin/run_odometry" to ":/usr/local/lib:/usr/local/lib:/home/bit/CODE/Drivers/ct_icp/install/yaml-cpp/lib:/home/bit/CODE/Drivers/ct_icp/install/tinyply/lib:/home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib:/home/bit/CODE/Drivers/ct_icp/install/CT_ICP/lib:/usr/local/cuda-11.1/lib64:/usr/local/lib"

from ct_icp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.