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

Ruben Smits ruben.smits at intermodalics.eu
Wed Jul 10 22:00:14 UTC 2013


Hi Austin,


On Wed, Jul 10, 2013 at 11:55 PM, Austin Hendrix
<ahendrix at willowgarage.com>wrote:

> I'm having the same problem with one of the PR2 packages that depends
> on orocos_kdl; my take is that the CMake find_package infrastructure
> and/or the pkgconfig files for orocos_kdl are broken.
>
> I consider this a bug: http://bugs.orocos.org/show_bug.cgi?id=1035
>
>
I agree we should fix it at the level of the orocos_kdl-config.cmake file.

I forgot to mention, providing a patch would of course speed up resolving
the bug ;)

Ruben


> -Austin
>
> On Wed, Jul 10, 2013 at 5:04 AM, Ruben Smits
> <ruben.smits at intermodalics.eu> wrote:
> > Hi Marcus,
> >
> >
> > On Wed, Jul 10, 2013 at 12:59 PM, Marcus Liebhardt
> > <marcus.liebhardt at yujinrobot.com> wrote:
> >>
> >>
> >> 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?
> >>
> >
> > AFAIK:
> >
> > In most cases find_package(package_name) will fill
> ${package_name_LIBRARIES)
> > with the full path of the libraries in which case you do not need the
> > link_directories statement. Although in some cases this might not be
> true,
> > and ${packag_name_LIBRARIES} only contains the libnames without any path
> > which seems to be the case with orocos-kdl:
> >
> > taken from the orocos_kdl-config.cmake:
> >
> > message("   Includes in: ${orocos_kdl_INCLUDE_DIRS}")
> > message(    "Compiler flags: ${orocos_kdl_CFLAGS}")
> > message("   Libraries: ${orocos_kdl_LIBRARIES}")
> > message("   Libraries in: ${orocos_kdl_LIBRARY_DIRS}")
> > message("   Linker flags : ${orocos_kdl_LD_FLAGS}")
> > message("   Defines: ${orocos_kdl_DEFINES}")
> >
> > This is the result of the use of pkgconfig in the orocos_kdl-config.cmake
> > to fill in these flags. If this is considered as a bug by someone please
> > file a bug report on bugs.orocos.org to have it resolved ;)
> >
> >>
> >> Thanks again and sorry for the spam,
> >> Marcus
> >>
> >
> > Ruben
> >
> >
> >>
> >>
> >>>
> >>>
> >>> Thanks for reading,
> >>> Marcus
> >>>
> >>>
> >
> >
> >
> > --
> > Ruben Smits, Phd
> > Chief Technology Officer
> > Intermodalics BVBA
> > +32479511786
> > www.intermodalics.eu
> >
> > _______________________________________________
> > Ros-release mailing list
> > Ros-release at code.ros.org
> > https://code.ros.org/mailman/listinfo/ros-release
> >
>



-- 
Ruben Smits, Phd
Chief Technology Officer
Intermodalics BVBA
+32479511786
www.intermodalics.eu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-release/attachments/20130711/6a5344d7/attachment-0009.html>


More information about the Ros-release mailing list