Comments (7)
To resolve this issue, you need to go a bit deeper. To my knowledge, it is caused by the differing boost implementations when compiling with c++11 and something else. As the PCl is not compiled with -std=c++11 option, it will contain different boost headers compared to rgbdslam. This results in segmentation fault on the initialization of boost.
To correct this, you need to compile PCL from their git repo (this change might be needed PointCloudLibrary/pcl#980). One way to make PCL compile with the c++11 option is to add this to the CMakeLists.txt: SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
When you have the PCL compiled, you need to make install, and change CMakeLists.txt on rgbdslam to use these libraries, this can be done by changing the line: find_package(PCL 1.7 REQUIRED COMPONENTS common io) to find_package(PCL 1.8 REQUIRED COMPONENTS common io)
from rgbdslam_v2.
Thanks, for the report. I'll make the changes you suggest. If you have them available as a patch, I would be interested. Otherwise, as the error doesn't occur with my setup (12.04 + Hydro), would you be able and willing to test the changes?
from rgbdslam_v2.
Thank you for the quick reply. I created an pullrequest for the hydro branch that fixed the compilation on my system.
I would be more than happy to test any changes that could make the PCL work. Do you have any idea what could be causing the PCL to segfault when compiled with the c++11?
from rgbdslam_v2.
This is actually related to this: PointCloudLibrary/pcl#619
I am starting to lean to this being an issue with PCL as the rgbdslam crashes before it enters the main() so there is little that can be done to prevent this crash (other than compiling without the c++11)
from rgbdslam_v2.
Wouldn't surprise me if that was the issue. I remember an OpenCV version that didn't even compile when c++11 activated, because a syntax error came after an #ifndef <c++11 activated> :-).
I commented your pull request, but there's nothing for you to do. I'll need to test your changes on hydro before merging. I'll hopefully get to that tomorrow.
from rgbdslam_v2.
Thank you for this! I will keep searching for the issue from the PCL side of things if I could find something there.
from rgbdslam_v2.
Just add to JoonasMelin's correct diagnosis:
- Also on 16.04 (with ROS kinetic) pcl will cause a SIGSEV on startup if code is built with the c++11 flag
- g2o requires code to be built with c++11
- Since the central class (and others) of rgbdslam has pcl and g2o includes, it cannot be built without changing either g2o or pcl.
from rgbdslam_v2.
Related Issues (20)
- what(): Time is out of dual 32-bit range (using rosbag)
- g2ofork build isuue HOT 1
- Running rgbd slam v2 on sequence of images/frames from video
- can not compile due to /usr/bin/ld: cannot find -lIL HOT 1
- Problem
- CMake Error:_SOLVER_CHOLMOD_LIB notfound HOT 1
- rgbdslam_v2 shutdown when receiving images
- docker image can be nice HOT 1
- Nothing is being published on /rgbdslam/batch_clouds HOT 1
- error: call of overloaded ‘round(float)’ is ambiguous HOT 2
- Is /imu topic used when I run rosluanch rgbdslam.lauch? HOT 2
- Error while loading shared libraries: libg2o_ext_freeglut_minimal.so: cannot open shared object file: No such file or directory HOT 3
- With the topics set according to kinect v2 node, Nothing show on GUI HOT 1
- error: no matching function for call to ‘g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> >::BlockSolver(g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> >::LinearSolverType*&)’ = new g2o::BlockSolverX(linearSolver); HOT 1
- GlobalUtil.cpp:(.text._ZN10LiteWindowD2Ev[_ZN10LiteWindowD5Ev]+0x43):undefined reference to `__glutInit
- REQUIRED process [rgbdslam-25] has died! HOT 3
- Breaking detection iterations, because of missing depth HOT 3
- could you please supply a docker image? HOT 1
- ubuntu16.04 ROSkinetic collect2: error: ld returned 1 exit status makefile:169: recipe for target 'siftgpu' failed make[3]: *** [siftgpu] Error 1 HOT 1
- Using a monocular camera to run rgbdslamv2 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rgbdslam_v2.