-
Notifications
You must be signed in to change notification settings - Fork 935
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
moveit_ros_planning fails to build with DCMAKE_BUILD_TYPE=Debug #2804
Comments
Interesting. I have never had that issue and I develop in DEBUG builds, but I don't run on stock ubuntu. I can reproduce this in a docker container on Ubuntu 20.04. I can't look into this any further now, but I'm wondering why the moveit_core package compiles successfully then. |
I've dug a bit deeper into this issue. I can confirm that this only happens when using Specifically, that commit introduced the following lines: So after 93c3f63, we first try to use However, there is a bug in
I'll open a pull request over at the fcl repo and report back here. |
The find_package CMake macro was missing the CCD and Octomap libraries in the FCL_LIBRARIES variable, which led to linker errors in dependent projects, for example: moveit/moveit#2804 (comment) The old PkgConfig implementation properly adds all external dependencies, but the find_package implementation is missing some: find_package: FCL_LIBRARIES=fcl PkgConfig: FCL_LIBRARIES=/opt/ros/noetic/lib/x86_64-linux-gnu/libfcl.so;/usr/lib/x86_64-linux-gnu/libccd.so;/usr/lib/x86_64-linux-gnu/libm.so;/opt/ros/noetic/lib/liboctomap.so;/opt/ros/noetic/lib/liboctomath.so This commit will result in the following FCL_LIBRARIES: FCL_LIBRARIES=fcl;/usr/lib/x86_64-linux-gnu/libccd.so;/usr/lib/x86_64-linux-gnu/libm.so;/opt/ros/noetic/lib/liboctomap.so;/opt/ros/noetic/lib/liboctomath.so
thank you for looking into it Martin!
…On August 17, 2021 3:45:16 PM GMT+02:00, "Martin Günther" ***@***.***> wrote:
I've dug a bit deeper into this issue.
I can confirm that this only happens when using `Debug` or
`RelWithDebugInfo` builds, not `Release`. I've used `git bisect` to
track down the commit that triggered this bug: 93c3f63 by @wolfv.
Specifically, that commit introduced the following lines:
https://github.com/ros-planning/moveit/blob/93c3f637b088000e5508f8efc6ce3b01e528e383/moveit_core/CMakeLists.txt#L45-L49
So after 93c3f63, we first try to use `find_package` to find `fcl` and
only fall back to PkgConfig if that fails. The old behavior was to
always use PkgConfig.
However, there is a bug in `fcl`. The `find_package` implementation is
missing the dependencies:
```text
find_package: FCL_LIBRARIES=fcl
PkgConfig:
FCL_LIBRARIES=/opt/ros/noetic/lib/x86_64-linux-gnu/libfcl.so;/usr/lib/x86_64-linux-gnu/libccd.so;/usr/lib/x86_64-linux-gnu/libm.so;/opt/ros/noetic/lib/liboctomap.so;/opt/ros/noetic/lib/liboctomath.so
```
I'll open a pull request over at the fcl repo and report back here.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#2804 (comment)
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
|
Regression of 93c3f63 Closes: moveit#2804
Regression of 93c3f63 Closes: moveit#2804
Regression of 93c3f63 Closes: moveit#2804
Description
When building a ROS workspace with
catkin build --cmake-args -DCMAKE_BUILD_TYPE=Debug
, the build fails with a linker error onmoveit_ros_planning
.I was hoping to debug MoveIt more easily, since I'll probably be making some modifications to it for a project I'm working on.
Your environment
Fresh catkin workspace, with
moveit
,moveit_visual_tools
andmoveit_resources
cloned, all from default branch (master, probably).Steps to reproduce
catkin build --cmake-args -DCMAKE_BUILD_TYPE=Debug
Expected behaviour
Buildl compiletes successfully, resulting in MoveIt with debug symbols.
Actual behaviour
moveit_ros_planning
compiles, but fails linking with the following error:Backtrace or Console output
The text was updated successfully, but these errors were encountered: