After configuring collada-urdf, the recipe modifies the generated
files to address the problem in #175. However, it does not solve
the root of this cause.
The ros-control recipes are updated to 0.5.8 to be in line with
74f48fa69e/hydro/release.yaml.
The applied patches are merged upstream in 0.5.8 and were removed.
When CATKIN_ENABLE_TESTING is deactivated, the ROS packages do not
require the rostest package.
This commit includes a number of patches to be submitted in the
upstream repositories and removes the rostest dependencies from
the recipes.
The native packages are not required anymore, because the needed
python scripts during compile time are also provided by the
cross-compiled packages and the python scripts are platform
independent. Only the catkin package is provided as native package.
The update to version 1.5.34 includes a patch [1] that removes
whitespaces from the license line in the package.xml.
Hence, the hash is now the common hash similar to all other
BSD-licensed ROS packages.
[1] ab496af75c
The COLLADA Document Object Model (DOM) is an application
programming interface (API) that provides a C++ object representation of
a COLLADA XML instance document.
robot_model contains packages for modeling various aspects of robot
information, specified in the Xml Robot Description Format (URDF). The core
package of this stack is urdf, which parses URDF files, and constructs an
object model (C++) of the robot.
-----------------------
RECIPES collada-urdf AND kdl-parser
OF THE ROBOT-MODEL PACKAGE HAVE NOT BEEN ADDED YET.
-----------------------
A set of packages that include controller interfaces, controller managers,
transmissions, hardware_interfaces and the control_toolbox.
The ros_control packages takes as input the joint state data from your robot's
actuator's encoders and an input set point. It uses a generic control loop
feedback mechanism, typically a PID controller, to control the output,
typically effort, sent to your actuators. ros_control gets more complicated
for physical mechanisms that do not have one-to-one mappings of joint
positions, efforts, etc but theses scenarios are accounted for using
transmissions.
This package contains a set of tools that can be used from a hard realtime
thread, without breaking the realtime behavior. The tools currently only
provides the realtime publisher, which makes it possible to publish messages
to a ROS topic from a realtime thread.
control_msgs contains base messages and actions useful for controlling robots.
It provides representations for controller setpoints and joint and cartesian
trajectories.
The URDF (U-Robot Description Format) library provides core data structures
and a simple XML parsers for populating the class data structures from
an URDF file.
The genmsg recipe is updated to 0.4.22 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 0.4.22 and is
removed from the recipe and this repository.
The PR variable is reset.
The gencpp recipe is updated to 0.4.14 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 0.4.14 and is
removed from the recipe and this repository.
The PR variable is reset.
The ros-comm recipes are updated to 1.9.48 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patches have been included in 1.9.48 and are
removed from the recipe and this repository.
The dynamic-reconfigure recipe is updated to 1.5.33 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 1.5.33 and is
removed from the recipe and this repository.
The std-msgs recipe is updated to 0.5.8 to be in line with
4551e7c32d/hydro/release.yaml.
The license string in the package.xml was tuned in 0.5.8 and the
hash of the license string is now the common one.
The ros recipes are updated to 1.10.6 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 1.10.6 and is
removed from the recipe and this repository.
The ros-tutorials recipes were updated to 0.3.13 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 0.3.13 and is
removed from the recipe and this repository.
The genpy recipe was updated to 0.4.14 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 0.4.14 and is
removed from the recipe and this repository.
The PR variable is reset.
The catkin recipe was updated to 0.5.73 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 0.5.73 and is
removed from the recipe and this repository.
The actionlib recipe is updated to 1.10.2 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 1.10.2 and is
removed from the recipe and this repository.
The genlisp recipe is updated to 0.4.12 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patch has been included in 0.4.12 and is
removed from the recipe and this repository.
The PR variable is reset.
This commit is based on a commit by Stefan Herbrechtsmeier [1],
but moved from after some larger refactoring to the current
release state. Hence, the dependency must still be added after
the require statement instead of before, which is possible
after the refactoring.
[1] 99426a1479
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Before this commit, the following sequence of bitbake commands
failed because the path was set during compile time, and not at
runtime. After the patch from Dirk Thomas, the following sequence
now works.
bitbake nodelet-topic-tools -c cleansstate && \
bitbake dynamic-reconfigure && bitbake nodelet-topic-tools
When updating from 1.9.41 to 1.9.47, the commit
c5dfa6305e
adds a routine in the CMakeLists.txt to find the pthread library.
This routine is not suitable for the use with our tool chain, i.e.,
it reports an error (cf. #125) when using roscpp-native.
This commit adds a patch that reverts that change in roscpp's
CMakeLists.txt.
In this commit, the angles directory is renamed to match repository
name in hydro/release.yaml, and a patch is required probably
because of the new catkin version.
To compile nodelet-topic-tools, we must provide a working
dynamic-reconfigure in the native sysroot. This requires
some adjustments to the native versions of the required
python modules.
In particular, the following tasks ran successfully for this
commit:
This command tests compiling rospack-native:
rm bitbake.lock cache/ sstate-cache/ tmp-eglibc/ -rf && bitbake rospack-native
This command tests compiling roslib-native:
rm bitbake.lock cache/ sstate-cache/ tmp-eglibc/ -rf && bitbake roslib-native
As nodelet-topic-tools uses rospack-native and roslib-native to
some extent (dependency: rospack-native -> roslib-native ->
dynamic-reconfigure-native -> nodelet-topic-tools), this command
tests running rospack-native and roslib-native:
rm bitbake.lock cache/ sstate-cache/ tmp-eglibc/ -rf && bitbake nodelet-topic-tools
This command tests compiling rospack and roslib:
rm bitbake.lock cache/ sstate-cache/ tmp-eglibc/ -rf && bitbake rospack
rm bitbake.lock cache/ sstate-cache/ tmp-eglibc/ -rf && bitbake roslib
All these command run with this commit without errors, and
future commits to these files should keep them run without
errors or justify modifications with better tests.
A minor open issue related to rospack is issue #116
(cf. https://github.com/bmwcarit/meta-ros/issues/116).
This commit incorporates feedback from Stefan Herbrechtsmeier.
The rostest package requires that the rostest executable can be
found by cmake's find during configure. Hence, rostest depends on
rostest-native.
To implement this, rostest and rostest-native are defined with
different dependencies.
This commit resolves issue #83.
The python script path for gen_cpp.py is hard coded in the CMake
file and doesn't work during cross compile. Setup it via find_program
during runtime.
This closes#91 with the following error:
*** No rule to make target `/usr/lib/gencpp/gen_cpp.py', needed by
`devel/include/roscpp/Logger.h'. Stop
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
The python script path for gen_lisp.py is hard coded in the CMake
file and doesn't work during cross compile. Setup it via find_program
during runtime.
This closes#87 with the following error:
*** No rule to make target `/usr/lib/genlisp/gen_lisp.py', needed by
`devel/share/common-lisp/ros/std_msgs/msg/Bool.lisp'. Stop
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
This closes#69 and #80 with the following error:
*** No rule to make target `/usr/lib/genpy/genmsg_py.py', needed by
`devel/lib/python2.7/site-packages/std_msgs/msg/_Bool.py'. Stop.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Currently, it is not clear if the additional files are required in
the normal package or the dev package. Hence, we do not touch them
(they are not added to any package or deleted after the installation)
until the right operation is clear.
Until then, the console-bridge emits the warning
WARNING: QA Issue: console-bridge: Files/directories were installed but not shipped
/usr/share
/usr/share/console_bridge
/usr/share/console_bridge/package.xml
/usr/share/console_bridge/cmake
/usr/share/console_bridge/cmake/console_bridge-config.cmake
The nodelet package.xml also lists the dependency on uuid, but the
recipe seems to work without.
It uses the SRC_URI from its ros repository (instead of the ros-gbp
repository), because in the commit
30306b6bba, we agreed to use the ros
location instead of the ros-gbp location uniformly.
The console-bridge is a cmake installation, but not a catkin package.
In its current state, the recipe compiles and installs, but the
class_loader package fails and complains with
| catkin_package() CATKIN_DEPENDS on 'console_bridge', which has been found
| in
| '(...)/build/tmp-eglibc/sysroots/qemux86-64/usr/share/console_bridge/cmake/console_bridge-config.cmake',
| but it is not a catkin package
This commit provides the current state for further discussion and
joint investigation.
| CMake Warning at /build/v2012.12/build/tmp-angstrom_v2012_12-eglibc/sysroots/x86_64-linux/usr/share/catkin/cmake/test/nosetests.cmake:90 (message):
| nosetests not found, Python tests can not be run (try installing package
| 'python-nose')
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
The last patched version assumes that the variable msg include dirs
is only one directory and not a list of directories. This leads to
errors if generate_message(DIRECTORY ...) occurs twice in the
CMakeLists files.
Make Error at build/devel/share/cmake/...-msg-paths.cmake:2 (if):
| if given arguments:
|
| "NOT" "IS_ABSOLUTE" "" ""
Fixed issue #72.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
The python binary path for genmsg_py.py and gensrv_py.py are hard
coded in the CMake file and don't work during cross compile. Setup
them via find_program during runtime.
This fix#69 and the following error:
*** No rule to make target `/usr/lib/genpy/genmsg_py.py', needed by
`devel/lib/python2.7/site-packages/std_msgs/msg/_Bool.py'. Stop.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
When importing the rosbag module in python, it fails in a genpy python module
complaining about missing the shutil python module. The shutils module is
provided by python-shell.
The recipes are supposed to cross-compile and install the chatter
example. In this commit, the recipe do not contain any dependencies
and configure does not run through yet.
The recipe python-pprint rdepends on python-io. As this was not reflected in
the oe-core repository, we added the dependency in genmsg.
Now after the commit abe7bf9992e298f1b53e790eee7b064a9e4e8589 in oe-core,
we can remove the runtime dependency in genmsg.
This commit resolves issue #54.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
The topic-tools fails during the do_compile step at:
.../sysroots/x86_64-linux/usr/lib/libboost_thread-mt.so: could not read symbols: File in wrong format
The failure comes from the rostest-native package which delivers a
header file with boost dependencies and therefore add the relevant
library to the link path. Add rostest to the DEPENDS to use the
header and libraries from the cross sysroot and keep the native
rostest for the binary.
Fixed#51
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
For starting roscore, it requires a number of runtime dependencies.
At the moment, all runtime dependencies, even recursive runtime dependencies,
are added only in the roslaunch recipe. Hence, the recipe contains all
runtime dependencies.
At a later stage, one should move the recursive runtime dependencies into
the appropriate recipes.
Rostest depends on its own package and therefore needs to search
in the devel space for the rostestConfig.cmake during native
build.
| CMake Error at /.../usr/share/catkin/cmake/find_program_required.cmake:5 (message):
| rostest not found
|
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
All ROS packages with install tools in the bin directory or install
python code with is used by other packages should be used as native
version. Adapte the DEPENDS accordingly.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Adapt genmsg to handle msg files relatively to the current
cmake path. Without this modification genmsg failed to generate
messages because it pass a path without sysroot to the python
code.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Catkin require a .catkin file in all CMAKE_PREFIX_PATH to add them
to the CATKIN_WORKSPACES. Remove this requirement as it couldn't
be satisfy when catkin packages are installed into the common usr
prefix. Without this adaption catkin couldn't find all files.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
The recipes were created by manually extracting the information
from the corresponding package.xml.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
After the release of ROS groovy, there is no strong reason to
continue to work on the cross-compilation of the previous ROS
version fuerte. Hence, this commit removes the initial
non-functioning recipe and the reference in the README file.
For cross-compiling ROS fuerte, the repository at
https://github.com/yida/yida-collections
might be a better starting point anyway.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Add the package to the dependency because the do_configure fails
as it tries to find the package.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Cmake should search in the native sysroot for rosunit. Remove
NO_CMAKE_FIND_ROOT_PATH from the find_program call to allow
cmake to search in the native sysroot.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Add the package to the dependency because the do_configure fails
as it tries to find the package.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
The license checksum was never tested before as the do_configure
failed until now and do_qa_configure is run after do_configure.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
The catkin framework need some modification to support cross compiling
packages via yocto. When we want to upstream patches we need to provide
patches against the current groovy-devel branch. Use this branch as base
for our work to simplify the tests and to unify the developing process
of catkin.
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
* Use configuration options instead of patches
* Use relative paths in CMake installation files
* Use catkin class
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>