uzh-rpg/flightmare

Can't build motion planning node.

man-do opened this issue · 1 comments

I get the following error when trying to build flightros package:

Errors << flightros:make /home/maverick/upwork_projects/michael_rosso_ws/logs/flightros/build.make.059.log /usr/bin/ld: CMakeFiles/motion_planning.dir/src/motion_planning/motion_planning.cpp.o: in function ompl::base::SE3StateSpace::SE3StateSpace()':
motion_planning.cpp:(.text._ZN4ompl4base13SE3StateSpaceC2Ev[_ZN4ompl4base13SE3StateSpaceC5Ev]+0x3d): undefined reference to ompl::base::StateSpace::getName() const' /usr/bin/ld: motion_planning.cpp:(.text._ZN4ompl4base13SE3StateSpaceC2Ev[_ZN4ompl4base13SE3StateSpaceC5Ev]+0x5f): undefined reference to ompl::base::StateSpace::setName(std::string const&)'
/usr/bin/ld: motion_planning.cpp:(.text._ZN4ompl4base13SE3StateSpaceC2Ev[_ZN4ompl4base13SE3StateSpaceC5Ev]+0x1a2): undefined reference to ompl::base::StateSpace::getName() const' /usr/bin/ld: motion_planning.cpp:(.text._ZN4ompl4base13SE3StateSpaceC2Ev[_ZN4ompl4base13SE3StateSpaceC5Ev]+0x1bf): undefined reference to ompl::base::StateSpace::setName(std::string const&)'
/usr/bin/ld: motion_planning.cpp:(.text._ZN4ompl4base13SE3StateSpaceC2Ev[_ZN4ompl4base13SE3StateSpaceC5Ev]+0x2a3): undefined reference to ompl::base::StateSpace::getName() const' /usr/bin/ld: motion_planning.cpp:(.text._ZN4ompl4base13SE3StateSpaceC2Ev[_ZN4ompl4base13SE3StateSpaceC5Ev]+0x2c0): undefined reference to ompl::base::StateSpace::setName(std::string const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/motion_planning.dir/build.make:385: /home/maverick/upwork_projects/michael_rosso_ws/devel/lib/flightros/motion_planning] Error 1
make[1]: *** [CMakeFiles/Makefile2:1184: CMakeFiles/motion_planning.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
`
It seems that the linker doesn't recognise some methods and I don't know why.

I outputed some info about the library by adding
message("ompl libraries: ${OMPL_LIBRARIES}") message("ompl library dirs: ${OMPL_LIBRARY_DIRS}") message("ompl include dirs: ${OMPL_INCLUDE_DIRS}") to the makefile :
ompl libraries: /usr/local/lib/libompl.so;/usr/lib/x86_64-linux-gnu/libboost_serialization.so;/usr/lib/x86_64-linux-gnu/libboost_filesystem.so;/usr/lib/x86_64-linux-gnu/libboost_system.so;ode
ompl library dirs: /usr/local/lib;/usr/lib/x86_64-linux-gnu
ompl include dirs: /usr/local/include/ompl-1.5;/usr/include;/usr/include/eigen3;/usr/local/include/ompl-1.5/base/;/usr/local/include/ompl-1.5/base/spaces

What am I doing wrong??

@man-do Hi, I have the same problem as you, did you solve it?