[Ros-release] Debbuild can't find orocos-kdl

Marcus Liebhardt marcus.liebhardt at yujinrobot.com
Wed Jul 10 10:59:35 UTC 2013


On Wed, Jul 10, 2013 at 6:39 PM, Marcus Liebhardt <
marcus.liebhardt at yujinrobot.com> wrote:

> Hey guys,
> It's me again. Sorry for the high traffic.
>
> I released the openni_tracker and the source build works fine. However,
> when building the deb, orocos-kdl can't be found.
>
> CMake Error at /opt/ros/hydro/share/catkin/cmake/catkinConfig.cmake:72 (find_package):
>   Could not find a configuration file for package orocos_kdl.
>
>   Set orocos_kdl_DIR to the directory containing a CMake configuration file
>   for orocos_kdl.  The file will have one of the following names:
>
>     orocos_kdlConfig.cmake
>     orocos_kdl-config.cmake
>
> Call Stack (most recent call first):
>   CMakeLists.txt:3 (find_package)
>
>
> So, I started looking for the cause of this and found this seemingly
> related issue involving the geometry stack:
> https://github.com/ros/geometry/issues/11. The respective fix treats
> orocos-kdl as a plain Cmake package instead of a catkin
> package. Unfortunately, when applying this patch to the openni_tracker, my
> local source build can't find the orocos-kdl library it tries to link to:
>
> Linking CXX executable
> /opt/sandbox_workspace/devel/lib/openni_tracker/openni_tracker
> /usr/bin/ld: cannot find -lorocos-kdl
> collect2: ld returned 1 exit status
> make[2]: ***
> [/opt/sandbox_workspace/devel/lib/openni_tracker/openni_tracker] Error 1
>
> Again I started off to find hints for the cause of this. I took a look
> at orocos_kdl-config.cmake and even the package config file, but nothing
> seems suspicious to me. However, I must say that I don't have lots of CMake
> experience. So this is harder for me than Korean. 0o
>
> One thing I noticed though is that the CMake log output about orocos-kdl
> doesn't show any linker flags:
>
> Looking for KDL in: /opt/ros/hydro
> -- checking for one of the modules 'orocos_kdl'
>    Includes in: /opt/ros/hydro/include;/usr/include/eigen3
> Compiler flags: -I/opt/ros/hydro/include;-I/usr/include/eigen3
>    Libraries: orocos-kdl
>    Libraries in: /opt/ros/hydro/lib
>    Linker flags :
>    Defines:
>
> I will keep looking further into this. But any hints, tips and help is
> highly appreciated!
>

Joder! I think, I have found the missing piece - it's called
"link_directories()". I shouldn't have looked only at that pull request,
but at the newest version of the mentioned CMakeLists example.

I'm still a bit confused though. I can't remember needing this
"link_directories" addition so far. Furthermore, the ROS wiki even
recommends not to use it, since target_link_libraries() should suffice for
catkin and plain cmake packages - which is the case here (
http://ros.org/wiki/catkin/CMakeLists.txt#Include_Paths_and_Library_Paths).

Could someone shed some light on this please?

Thanks again and sorry for the spam,
Marcus



>
> Thanks for reading,
> Marcus
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-release/attachments/20130710/53df8a41/attachment-0009.html>


More information about the Ros-release mailing list