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:
- Call
catkin_package()
fromCMakeLists.txt
- Change
package.xml
to indicate a plain cmake package and use Bloom to patch theCMakeLists.txt
to install thepackage.xml
as instructed here: http://wiki.ros.org/bloom/Tutorials/ReleaseThirdParty#Adding_an_Install_Rule_as_a_Patch
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: