ethz-asl/segmap

Compiling Segmap framework.

Closed this issue · 3 comments

Thank you for releasing this amazing segment based LidarSLAM Framework.
I have read several papers related to this framework.

  • Learning 3D Segment Descriptors for Place Recognition
  • SegMatch: Segment based loop-closure for 3D point clouds
  • SegMap: 3D Segment Mapping using Data-Driven Descriptors
  • Incremental-Segment-Based Localization in 3-D Point Clouds

And I am trying to compile this framework on my machine
but, I have some troubles with it.

I newly installed Ubuntu 16.04 and ROS Kinetic on my machine
and I have carefully followed the “Compiling SegMatch” section ReadMe page.
However, I encountered error messages after excepting "catkin build -DCMAKE_BUILD_TYPE=Release segmapper” command.
segmapper error.txt

So, I tried the “divide-and-conquer” approach in order to build the framework by individually building the prerequisites.
The followings are the error message from each command.

"catkin build -DCMAKE_BUILD_TYPE=Release libnabo”
libnabo error.txt

"catkin build -DCMAKE_BUILD_TYPE=Release libpointmatcher”
libpointmatcher error.txt

"catkin build -DCMAKE_BUILD_TYPE=Release pcl_catkin”
pcl_catkin error.txt

"catkin build -DCMAKE_BUILD_TYPE=Release laser_slam”
laser_slam error.txt

I didn’t include the rest of prerequisites since it looks like that those are successfully complied.

I want to contribute to this great LidarSLAM framework but I am failing even on the first stage.
Could you give me a clue or direction to deal with it?
Thanks in advance.

smauq commented

Thanks for the interest! As far as I can tell from the errors the problem is that Qt5 (used by libpointmatcher) is trying to use a library (EGL) that isn't there. This library should be supplied with the mesa package in Ubuntu. Please check the section "Install OpenGL libraries" on the Qt5 installation guide, and see if that helps fix the error.

thank you for the comment!
But it didn't work.. so I clearly erase the disk and reinstalled Ubnutu 16.04 again.
I tried the compiling from the scratch.
installing ROS kinetic, following the directions on the ReadMe page. .
at this time, I encountered opencv related problem and I followed this instruction to install libopencv-dev.
#64

and finally, I successfully installed Segmap framework!
I don't exactly know why it didn't work at the last time .. but anyway..
The following figure shows the result from the demonstration.

9d0bd4e5-9efa-44bd-85b0-107595638795

Thanks again for your kind comment and I hope to contribute to your artworks as soon as possible.

rdube commented

@JustWon thanks for pointing this out! We actually should remove this dependency to opencv.