Re: ROS: catkin and ROS_PACKAGE_PATH
Hi Leopold,
thanks for your answer.
On Tue, Jul 10, 2018 at 08:56:44AM +0200, Leopold Palomo-Avellaneda wrote:
> Well, I have done more or less what do you want to do but with stable. But my
> approach is a bit different. I create a ws in another directory (ex.
> /srv/robotica/ros) than home. It's because I share it with in a multiuser
> environment.
>
> Then, I build all the packages (rest of ros-desktop + moveit + extras) with:
>
> $ catkin_make_isolated --install
>
> After all, the the procedure consists in load the env :
>
> $ source /srv/robotica/ros/install_isolated/setub.bash
>
> and then the users can use any of the wide-system ros installation (packaged and
> built)
Yes, this is more or less what i've done. I used to use the ROS packages from
testing but switched to unstable later. And maybe since then or a few days later the
recipe from above doesn't work.
> Also, a
>
> $ rospack profile
>
> also helps, reseting some data.
Okay, i've tried that (didn't know about) but it does not help.
> > Compiling works fine, but the catkin tools do not set the ROS_PACKAGE_PATH
> > anymore.
>
> well, I have tried to see where is set without success. Maybe Jochen could help us.
I've read a bit more about catkin (and also catkin tools) and, as far as i understand,
catkin does not use $ROS_PACKAGE_PATH anymore. In fact it's deprecated. If you
grep for ROS_PACKAGE_PATH in the catkin source repo there is only one mentioning
in the docs.
I understand that catkin uses CMAKE_PREFIX_PATH for it's inner workings.
What i don't understand is how roslaunch and rospack come into the game. And
actually they might be the the problem here.
I think, when i set the ROS_PACKAGE_PATH by hand, these tools fall back into
some compatibility mode and somehow work. (This might be completely wrong)
I've also tried the catkin-tools package (installed via pip, because not in
debian) they should bring their own devel/setup.bash scripts but they don't work
either.
Here is some output from the catkin tools. Looks okay for me.
~/ros$ catkin config
-----------------------------------------------------------------------------
Profile: default
Extending: [env] /home/jkur/ros/devel:/home/jkur/ros-moveit/devel
Workspace: /home/jkur/ros
-----------------------------------------------------------------------------
Source Space: [exists] /home/jkur/ros/src
Log Space: [exists] /home/jkur/ros/logs
Build Space: [exists] /home/jkur/ros/build
Devel Space: [exists] /home/jkur/ros/devel
Install Space: [missing] /home/jkur/ros/install
DESTDIR: [unused] None
-----------------------------------------------------------------------------
Devel Space Layout: linked
Install Space Layout: merged
-----------------------------------------------------------------------------
Additional CMake Args: None
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
Cache Job Environments: False
-----------------------------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
-----------------------------------------------------------------------------
Workspace configuration appears valid.
-----------------------------------------------------------------------------
But then:
$ rospack find ur_modern_driver
[rospack] Error: package 'ur_modern_driver' not found
and right after that:
$ ROS_PACKAGE_PATH="/home/jkur/ros/" rospack find ur_modern_driver
/home/jkur/ros/src/ur_modern_driver
So still the same behaviour.
Jochen mentioned that something might have changed in the newly uploaded
packages, but i couldn't figure it out (see other mail in this thread).
Best regards,
Jörg :-)
Reply to: