Re: ROS installation with pure Debian Packages + some Source Packages
Hello List, hello Jochen,
On Sat, Jun 16, 2018 at 04:05:18PM +0200, Jochen Sprickerhof wrote:
> * Jörg <jkur+debian-science@corsario.org> [2018-06-15 20:46]:
> > $ catkin_make
> > => error with gennodejs (import gennodejs fails)
> > * source ./devel/setup.bash fixed it
>
> I usually ignore geneus and gennodejs, as I don't need it.
Now that i've learned about CATKIN_IGNORE it works. Another very valuable tip.
I don't need these packages either.
> > => compile error: srdfdom needs a newer version
> > * debian package libconsole-bridge0.4 has different macros
> > * CONSOLE_BRIDGE_logError <=> logError
> > * update .rosinstall with:
> > - git:
> > local-name: srdfdom
> > uri: https://github.com/ros-gbp/srdfdom-release.git
> > version: release/melodic/srdfdom/0.5.0-0
>
> That on is in testing already, if you need it.
I think that is not the point. In buster there is *only* libconsole-bridge0.4
and the srdfdom version in the rosinstall file (kinetic) is too old to use it. When you
have a mixed setup stretch/buster this might work.
But it's easy to just pull a newer version of srdfdom.
> > $ catkin_make
> > => error with diagnostics: uses pluginlib with different version, all .h
> > renamed to .hpp :-/
> > * updated the debian package to ros-pluginlib-1.12-1
> > * then you need ros-class-loader in newer version => updated package to 0.4.1
> > * then you need to rebuild ros-image-common, ros-nodelet-core, ros-robot-model
> > * done => lots of linker errors ;-) well build again....
>
> It's on my list to package this.
I've done the update on my machine and it builds. The problem
is then the change of the library version, isn't it? All dependent packages need
to be re-builded. See [1] for the exact packages i had to rebuilt. It all starts
with pluginlib and classloader.
> > $ caktin_make
> > [...]
> > RobotModel(const urdf::ModelInterfaceSharedPtr& urdf_model, const srdf::ModelConstSharedPtr& srdf_model);
> > ^~~~~~~~~~
> > /home/jkur/ros_new/src/moveit/moveit_core/robot_model/include/moveit/robot_model/robot_model.h:71:3: note: no known conversion for argument 1 from ‘urdf::ModelSharedPtr {aka boost::shared_ptr<urdf::Model>}’ to ‘const ModelInterfaceSharedPtr& {aka const std::shared_ptr<urdf::ModelInterface>&}’
> >
> > This is the problem with the boost::shared_ptr vs. std::shared_ptr
> >
> > urdf/model.h:65:
> >
> > typedef boost::shared_ptr<Model> ModelSharedPtr;
> > typedef boost::shared_ptr<const Model> ModelConstSharedPtr;
> > typedef boost::weak_ptr<Model> ModelWeakPtr;
> >
> > I have no idea where the std::shared_ptr comes from.
>
> I believe it's this issue:
>
> https://github.com/ros/robot_model/pull/206
>
> I simply CATKIN_IGNOREed the setup_assistant actually, as moveit works
> without it.
Yes, that works. (why didn't i know about CATKIN_IGNORE in the first place...)
After that moveit_kinematics must be updated to 0.10.x be able to use liborocos-kdl1.4
from buster.
With all the hints, it builds at least.
Not that difficult to do, but without the hints it's a big hassle to get it
right. You need to know a lot of things about ROS and it's build system in general
to start using ROS on Debian.
You cannot just install it and then work through the tutorials.
Puh, but at least there is a way.
I would like to help to create a better out of the box experience for ROS.
Because i'm bad a setting priorities it took me quite some time to get ROS
running on Debian. Now i'm really behind in actually learning and doing stuff
with ROS ;-) Anyway...
I created a Wiki-Page as a start, don't now if it's helpful, but the information
on the wiki is a bit outdated.
https://wiki.debian.org/DebianScience/Robotics/ROS/OnBuster
Have a look if you like and feel free to comment.
It's missing the "rebuilding packages" process for now, because i think it would
be better to fix/update the packages.
Best regards and many thanks!
Jörg
[1]:
Debian Packages updated:
------------------------
pluginlib-dev_1.12.1-1_amd64.deb
Debian Packages rebuilt:
------------------------
cl-nodelet_1.9.8-1_all.deb
cl-polled-camera_1.11.11-3_all.deb
collada-urdf-tools_1.12.6-1_amd64.deb
image-transport-tools_1.11.11-3_amd64.deb
joint-state-publisher_1.12.6-1_amd64.deb
libcamera-calibration-parsers0d_1.11.11-3_amd64.deb
libcamera-calibration-parsers-dev_1.11.11-3_amd64.deb
libcamera-info-manager0d_1.11.11-3_amd64.deb
libcamera-info-manager-dev_1.11.11-3_amd64.deb
libclass-loader0d_0.4.1-1_amd64.deb
libclass-loader-dev_0.4.1-1_amd64.deb
libcollada-parser0d_1.12.6-1_amd64.deb
libcollada-parser-dev_1.12.6-1_amd64.deb
libcollada-urdf0d_1.12.6-1_amd64.deb
libcollada-urdf-dev_1.12.6-1_amd64.deb
libimage-transport0d_1.11.11-3_amd64.deb
libimage-transport-dev_1.11.11-3_amd64.deb
libkdl-parser0d_1.12.6-1_amd64.deb
libkdl-parser-dev_1.12.6-1_amd64.deb
libnodelet-dev_1.9.8-1_amd64.deb
libnodeletlib0d_1.9.8-1_amd64.deb
libnodeletlib-dev_1.9.8-1_amd64.deb
libnodeletlib-tools_1.9.8-1_amd64.deb
libnodelet-topic-tools-dev_1.9.8-1_amd64.deb
liborocos-kdl1.3_1.3.1+dfsg-1_amd64.deb
liborocos-kdl-dev_1.3.1+dfsg-1_amd64.deb
libpolled-camera0d_1.11.11-3_amd64.deb
libpolled-camera-dev_1.11.11-3_amd64.deb
librviz2d_1.12.4+dfsg-3_amd64.deb
librviz-dev_1.12.4+dfsg-3_amd64.deb
liburdf0d_1.12.6-1_amd64.deb
liburdf-dev_1.12.6-1_amd64.deb
liburdf-parser-plugin-dev_1.12.6-1_amd64.deb
polled-camera-tool_1.11.11-3_amd64.deb
python-camera-calibration-parsers_1.11.11-3_amd64.deb
python-kdl-parser_1.12.6-1_all.deb
python-nodelet_1.9.8-1_all.deb
python-nodelet-topic-tools_1.9.8-1_all.deb
python-polled-camera_1.11.11-3_all.deb
python-rviz_1.12.4+dfsg-3_amd64.deb
rviz_1.12.4+dfsg-3_amd64.deb
--
Jörg (j@corsario.org)
GPG-ID: 0xFAE26711E6EBF94D
Fingerprint: 8A79 8BF8 0A04 60EA A004 7E42 FAE2 6711 E6EB F94D
Reply to: