orocos / rtt_geometry

Orocos RTT typekits for Orocos KDL and Eigen types.

Home Page:http://www.orocos.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eigen_typekit and kdl_typekit do not install package.xml

cottsay opened this issue · comments

REP 136 (http://www.ros.org/reps/rep-0136.html) states that all packages should install a package.xml if released into ROS, and eigen_typekit and kdl_typekit do no do this.

It looks like you have these packages marked as Catkin package, but you don't call catkin_package anywhere in the CMakeLists.txt. In order to bring the packages back into spec, someone must either:

See also ros/catkin#622

Thanks!

Which version of rtt_geometry are you using/refering to? My current install space looks as follows:
'''
tree share/eigen_typekit/
share/eigen_typekit/
├── cmake
│   ├── eigen_typekitConfig.cmake
│   └── eigen_typekitConfig-version.cmake
└── package.xml
tree share/kdl_typekit/
share/kdl_typekit/
├── cmake
│   ├── kdl_typekitConfig.cmake
│   └── kdl_typekitConfig-version.cmake
└── package.xml
'''

I'm on commit dd9f343

Indeed! It looks like the current branch builds installs it correctly. I was using the current released branch. I'd like to keep this issue open until you have a release.

On a related note, it looks like you've made these catkin packages. Do you call catkin_package() anywhere?

For reference http://www.ros.org/reps/rep-0136.html#install-a-catkin-package-xml

catkin_package is called under the hood by the orocos cmake macros in case it is build by catkin, without adding unnecessary catkin dependencies otherwise.

Very nice. Whenever this package is released, we can close this.

Thanks much!

Release has happened by now.

This issue still persists in the current released debian packages. Neither the cmake configuration files nor package.xml files are in the 2.8.1 debian packages.

On 14.04 here are the package contents:

dpkg-query -L ros-indigo-eigen-typekit
/.
/opt
/opt/ros
/opt/ros/indigo
/opt/ros/indigo/include
/opt/ros/indigo/include/orocos
/opt/ros/indigo/include/orocos/eigen_typekit
/opt/ros/indigo/include/orocos/eigen_typekit/eigen_typekit.hpp
/opt/ros/indigo/lib
/opt/ros/indigo/lib/orocos
/opt/ros/indigo/lib/orocos/gnulinux
/opt/ros/indigo/lib/orocos/gnulinux/eigen_typekit
/opt/ros/indigo/lib/orocos/gnulinux/eigen_typekit/types
/opt/ros/indigo/lib/orocos/gnulinux/eigen_typekit/types/libeigen_typekit-gnulinux.so
/opt/ros/indigo/lib/pkgconfig
/opt/ros/indigo/lib/pkgconfig/eigen_typekit-gnulinux.pc
/usr
/usr/share
/usr/share/doc
/usr/share/doc/ros-indigo-eigen-typekit
/usr/share/doc/ros-indigo-eigen-typekit/changelog.Debian.gz

catkin_package is called under the hood by the orocos cmake macros in case it is build by catkin, without adding unnecessary catkin dependencies otherwise.

No. Only if the package is built with catkin. But the buildfarm calls cmake directly:

06:13:00 	cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCATKIN_BUILD_BINARY_PACKAGE=1 -DCMAKE_INSTALL_PREFIX=/opt/ros/indigo -DCMAKE_PREFIX_PATH=/opt/ros/indigo
06:13:00 -- The C compiler identification is GNU 4.8.4
06:13:00 -- The CXX compiler identification is GNU 4.8.4
06:13:00 -- Check for working C compiler: /usr/bin/x86_64-linux-gnu-gcc
06:13:00 -- Check for working C compiler: /usr/bin/x86_64-linux-gnu-gcc -- works
06:13:00 -- Detecting C compiler ABI info
06:13:00 -- Detecting C compiler ABI info - done
06:13:00 -- Check for working CXX compiler: /usr/bin/x86_64-linux-gnu-g++
06:13:01 -- Check for working CXX compiler: /usr/bin/x86_64-linux-gnu-g++ -- works
06:13:01 -- Detecting CXX compiler ABI info
06:13:01 -- Detecting CXX compiler ABI info - done
06:13:01 -- - Detected OROCOS_TARGET environment variable. Using: gnulinux
06:13:01 -- Orocos-RTT found in /opt/ros/indigo/lib/cmake/orocos-rtt/orocos-rtt-gnulinux-libraries.cmake
06:13:01 -- Found orocos-rtt 2.8.3 for the gnulinux target. Available transports: corba mqueue
06:13:01 -- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") 
06:13:01 -- [UseOrocos] Building package kdl_typekit without an external buildtool like rosbuild or catkin
06:13:01 -- [UseOrocos] Using Orocos RTT in kdl_typekit
06:13:01 -- [orocos_get_manifest_deps] Note: this package has no manifest.xml file. No dependencies can be auto-configured.
06:13:01 -- [UseOrocos] Building typekit library kdl_typekit
06:13:01 -- - Detected OROCOS_TARGET environment variable. Using: gnulinux
06:13:01 -- Found orocos-rtt 2.8.3 for the gnulinux target. Available transports: corba mqueue
06:13:01 CORBA Support enabled.
06:13:01 -- CORBA enabled: OMNIORB
06:13:01 HPPS: /tmp/binarydeb/ros-indigo-kdl-typekit-2.8.1/src/corba/CorbaKDLConversion.hpp;/tmp/binarydeb/ros-indigo-kdl-typekit-2.8.1/src/corba/corbatoolkit.hpp;/tmp/binarydeb/ros-indigo-kdl-typekit-2.8.1/obj-x86_64-linux-gnu/src/corba/KDLTypesC.h
06:13:01 -- checking for one of the modules 'orocos_kdl-gnulinux;orocos_kdl'
06:13:01 -- [UseOrocos] Found orocos package 'orocos_kdl'.
06:13:01 -- [UseOrocos] Building typekit library kdl-transport-corba
06:13:01 -- [UseOrocos] Generating package version 1.0 (default version).
06:13:01 -- [UseOrocos] Exporting targets kdl_typekit.
06:13:01 -- [UseOrocos] Exporting libraries kdl_typekit.
06:13:01 -- [UseOrocos] Exporting library directories /opt/ros/indigo/lib/orocos/gnulinux/kdl_typekit/types.
06:13:01 -- Configuring done
06:13:01 -- Generating done

Check http://build.ros.org/job/Ibin_uT64__kdl_typekit__ubuntu_trusty_amd64__binary/8/consoleFull.

So either the packages need to call catkin_package() themselves or the debian/rules file needs to be patched to add -DORO_USE_CATKIN=ON, which would enforce the catkin build mode.

Fixed in version 2.8.1 for ROS indigo and jade and version 2.9.1 for ROS kinetic following the debian/rules approach: