ethz-asl / segmap

A map representation based on 3D segments
BSD 3-Clause "New" or "Revised" License
1.06k stars 394 forks source link

pcl_catkin build error #122

Open DrifterFun opened 5 years ago

DrifterFun commented 5 years ago

Hi author: Firstly, I think "seg-map" is a nice work and thank you to make it open-source. However, when I want to build the project I get some trouble. I want to build the project in such an environment: CUDA: CUDA Version 9.0.176 CUDNN: CUDNN_MAJOR 7 ,CUDNN_MINOR 0 ,CUDNN_PATCHLEVEL 5 Python: Python 2.7.12 GCC: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) Tensorflow:

Name: tensorflow
Version: 1.9.0
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: opensource@google.com
License: Apache 2.0
Location: /home/fred/segmap/segmappyenv/lib/python2.7/site-packages
Requires: setuptools, astor, protobuf, gast, enum34, six, wheel, absl-py, backports.weakref, tensorboard, termcolor, numpy, grpcio, mock
Required-by: 

I can catkin build catkin build tensorflow_ros_cpp successfully using:

catkin build tensorflow_ros_cpp --cmake-args -DFORCE_TF_PIP_SEARCH="OFF" -DFORCE_TF_BAZEL_SEARCH="ON" -DTF_BAZEL_LIBRARY="/home/fred/segmap/tensorflow/bazel-bin/tensorflow/libtensorflow_cc.so" -DTF_BAZEL_SRC_DIR="/home/fred/segmap/tensorflow"

However, When I want to build segmapper it get error in pcl_catkin and gtsam_catkin:

../gtsam/libgtsam.so.4.0.0:对‘boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
collect2: error: ld returned 1 exit status
make[5]: *** [examples/StereoVOExample] Error 1
make[4]: *** [examples/CMakeFiles/StereoVOExample.dir/all] Error 2
make[4]: *** 正在等待未完成的任务....
/usr/bin/ld: warning: libboost_system.so.1.58.0, needed by //usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.58.0, may conflict with libboost_system.so.1.54.0
../gtsam/libgtsam.so.4.0.0:对‘boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
collect2: error: ld returned 1 exit status
make[5]: *** [examples/StereoVOExample_large] Error 1
make[4]: *** [examples/CMakeFiles/StereoVOExample_large.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [gtsam_src-prefix/src/gtsam_src-stamp/gtsam_src-build] Error 2
make[1]: *** [CMakeFiles/gtsam_src.dir/all] Error 2
make: *** [all] Error 2
/home/fred/segmap/segmap_ws/build/pcl_catkin/pcl_src-prefix/src/pcl_src/sample_consensus/include/pcl/sample_consensus/model_types.h:99:3: note: declared here
../lib/libpcl_recognition.so.1.8.0:对‘boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’未定义的引用
collect2: error: ld returned 1 exit status
make[5]: *** [bin/pcl_match_linemod_template] Error 1
make[4]: *** [tools/CMakeFiles/pcl_match_linemod_template.dir/all] Error 2
make[4]: *** 正在等待未完成的任务....
../lib/libpcl_recognition.so.1.8.0:对‘boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’未定义的引用
collect2: error: ld returned 1 exit status
make[5]: *** [bin/pcl_linemod_detection] Error 1
make[4]: *** [tools/CMakeFiles/pcl_linemod_detection.dir/all] Error 2
../lib/libpcl_recognition.so.1.8.0:对‘boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)’未定义的引用
collect2: error: ld returned 1 exit status
make[5]: *** [bin/pcl_train_linemod_template] Error 1
make[4]: *** [tools/CMakeFiles/pcl_train_linemod_template.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [pcl_src-prefix/src/pcl_src-stamp/pcl_src-build] Error 2
make[1]: *** [CMakeFiles/pcl_src.dir/all] Error 2
make: *** [all] Error 2
smauq commented 5 years ago

Seems you somehow have two version of boost being both linked at compile time (1.58 and 1.54) creating a conflict. Maybe try doing ldconfig -p | grep boost and also checking what is being linked in from the paths specified in echo $LD_LIBRARY_PATH to find where they are coming from. Easiest solution would be to at least temporarily disable or remove one of the installations during compilation.

jviann commented 4 years ago

Hi @smauq I have similar issue.


[build] Found '31' packages in 0.0 seconds.
[build] Package table is up to date.
Starting >>> tensorflow_ros_cpp
Finished <<< tensorflow_ros_cpp [ 0.1 seconds ]
[build] Summary: All 1 packages succeeded!
[build] Ignored: 30 packages were skipped or are blacklisted.
[build] Warnings: None.
[build] Abandoned: None.
[build] Failed: None.
[build] Runtime: 0.1 seconds total.

I would appreciate any help

................................................................................................. Failed << pcl_catkin:make [ Exited with code 2 ] Failed <<< pcl_catkin [ 4 minutes and 39.1 seconds ] Abandoned <<< minkindr_gtsam [ Unrelated job failed ] Abandoned <<< mincurves [ Unrelated job failed ] Abandoned <<< laser_slam [ Unrelated job failed ] Abandoned <<< laser_slam_ros [ Unrelated job failed ] Abandoned <<< segmatch [ Unrelated job failed ] Abandoned <<< segmatch_ros [ Unrelated job failed ] Abandoned <<< segmapper [ Unrelated job failed ]

................................................................................................. Finished <<< gtsam_catkin [ 9 minutes and 15.6 seconds ] [build] Summary: 14 of 22 packages succeeded. [build] Ignored: 9 packages were skipped or are blacklisted. [build] Warnings: 7 packages succeeded with warnings. [build] Abandoned: 7 packages were abandoned. [build] Failed: 1 packages failed. [build] Runtime: 9 minutes and 24.1 seconds total.

jviann commented 4 years ago

Hi @smauq I have similar issue.

* I am running the code on ubuntu 14.04, tensorflow-gpu==1.8.0, python3

* I successfully run 'catkin build tensorflow_ros_cpp'

[build] Found '31' packages in 0.0 seconds. [build] Package table is up to date. Starting >>> tensorflow_ros_cpp Finished <<< tensorflow_ros_cpp [ 0.1 seconds ] [build] Summary: All 1 packages succeeded! [build] Ignored: 30 packages were skipped or are blacklisted. [build] Warnings: None. [build] Abandoned: None. [build] Failed: None. [build] Runtime: 0.1 seconds total.

* However, 'catkin build segmapper' fails to build due to pcl_catkin

I would appreciate any help

................................................................................................. Failed << pcl_catkin:make [ Exited with code 2 ] Failed <<< pcl_catkin [ 4 minutes and 39.1 seconds ] Abandoned <<< minkindr_gtsam [ Unrelated job failed ] Abandoned <<< mincurves [ Unrelated job failed ] Abandoned <<< laser_slam [ Unrelated job failed ] Abandoned <<< laser_slam_ros [ Unrelated job failed ] Abandoned <<< segmatch [ Unrelated job failed ] Abandoned <<< segmatch_ros [ Unrelated job failed ] Abandoned <<< segmapper [ Unrelated job failed ]

................................................................................................. Finished <<< gtsam_catkin [ 9 minutes and 15.6 seconds ] [build] Summary: 14 of 22 packages succeeded. [build] Ignored: 9 packages were skipped or are blacklisted. [build] Warnings: 7 packages succeeded with warnings. [build] Abandoned: 7 packages were abandoned. [build] Failed: 1 packages failed. [build] Runtime: 9 minutes and 24.1 seconds total.

I got this issue solved. issue was cmake version. cmake v3.5 and above was required. However, now 21 of 22 packages succeeded with segmapper failing.