ethz-asl / segmap

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

segmatch bulid error #84

Closed zzx8710 closed 6 years ago

zzx8710 commented 6 years ago

I have a build error, the details are shown below. I have installed the opencv2,and found that some people encountered similar error, but I did not find a solution. can you help me? thanks!

/home/patac/segmap_ws/src/segmap/segmatch/include/segmatch/segmatch.hpp:9:33: fatal error: opencv2/core/core.hpp: No such file or directory compilation terminated. In file included from /home/patac/segmap_ws/devel/include/pointmatcher/PointMatcher.h:63:0, from /home/patac/segmap_ws/src/laser_slam/laser_slam/include/laser_slam/common.hpp:10, from /home/patac/segmap_ws/src/segmap/segmatch/include/segmatch/segmatch.hpp:8, from /home/patac/segmap_ws/src/segmap/segmatch/src/segmatch.cpp:1: /home/patac/segmap_ws/devel/include/pointmatcher/Parametrizable.h:46:0: warning: "BOOST_ASSIGN_MAX_PARAMS" redefined

define BOOST_ASSIGN_MAX_PARAMS 6

^ In file included from /home/patac/segmap_ws/devel/include/gtsam/nonlinear/NonlinearFactor.h:30:0, from /home/patac/segmap_ws/devel/include/gtsam/nonlinear/ExpressionFactor.h:23, from /home/patac/segmap_ws/src/laser_slam/laser_slam/include/laser_slam/common.hpp:7, from /home/patac/segmap_ws/src/segmap/segmatch/include/segmatch/segmatch.hpp:8, from /home/patac/segmap_ws/src/segmap/segmatch/src/segmatch.cpp:1: /usr/include/boost/assign/list_of.hpp:378:0: note: this is the location of the previous definition

define BOOST_ASSIGN_MAX_PARAMS 5

^ In file included from /home/patac/segmap_ws/src/segmap/segmatch/src/segmatch.cpp:1:0: /home/patac/segmap_ws/src/segmap/segmatch/include/segmatch/segmatch.hpp:9:33: fatal error: opencv2/core/core.hpp: No such file or directory compilation terminated. make[2]: [CMakeFiles/segmatch.dir/src/recognizers/correspondence_recognizer_factory.cpp.o] Error 1 make[2]: [CMakeFiles/segmatch.dir/src/segmatch.cpp.o] Error 1 make[1]: [CMakeFiles/segmatch.dir/all] Error 2 make: [all] Error 2 cd /home/patac/segmap_ws/build/segmatch; catkin build --get-env segmatch | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd - ............................................................................... Failed << segmatch:make [ Exited with code 2 ]
Failed <<< segmatch [ 4.1 seconds ]
Abandoned <<< segmatch_ros [ Unrelated job failed ]
Abandoned <<< segmapper [ Unrelated job failed ]
[build] Summary: 16 of 19 packages succeeded.
[build] Ignored: 9 packages were skipped or are blacklisted.
[build] Warnings: 4 packages succeeded with warnings.
[build] Abandoned: 2 packages were abandoned.
[build] Failed: 1 packages failed.
[build] Runtime: 7.0 seconds total.

smauq commented 6 years ago

What version of opencv do you have installed 2 or 3? One of the sources of the issue could be this. Maybe try seeing if you change the include path from opencv2/core/core.hpp to opencv2/core.hpp if it works.

zzx8710 commented 6 years ago

@smauq Thanks for your reply, I installed both opencv2 and opencv3. The include path is right, and i have add "set(OpenCV_DIR /opt/ros/kinetic/share/OpenCV-3.3.1-dev),find_package(OpenCV 3.3.1 REQUIRED)" in segmatch cmakelists, but it doesn't work.

rdube commented 6 years ago

@zzx8710 we have removed the dependency to opencv. Can you please pull master and try to rebuild? You might have to clean your workspace.

smauq commented 6 years ago

@zzx8710 now all the dependencies to opencv2 should be removed indeed if you want to pull and try to recompile it should work

zzx8710 commented 6 years ago

@rdube @smauq Thanks for your suggestions,I have solved this problem, and it works very well on demonstrations. But it doesn't work when I apply the loop closure algorithm to vlp16. I have read the issues #69 and modify the parameters according to the instructions. When I roslaunch loop_closure.launch, There is a warning "[ WARN] [1526869221.661886118, 1525748009.443193698]: [SegMapper] Timeout while waiting between world and velodyne, and I can‘t see anything in rviz. I don't know why, Can you give me some suggestions?

rdube commented 6 years ago

Hi @zzx8710, happy to hear that your initial issue was solved! I will close this thread and invite you to have a look at #81. It seems like the ros tf frames were not correctly set in the configuration file or that you are missing a transformation between frames. Please follow on this in issue #81.

On a side note, we will present a poster at 10h30 today @ ICRA Localization 1 session (podR). Meet with us there if you can!