[ros-users] ni setup.bash issue

Miguel Prada Sarasola miguel.prada.sarasola at gmail.com
Wed Feb 23 09:23:54 UTC 2011


I just found another issue with how this setup file works.

I upgraded from cturtle to diamondback, and as I source the setup.sh in the ni stack _after_ sourcing the setup.sh in diamondback, the setup file in the ni stack overwrites the package path, removing the diamondback directory and including the cturtle one. I now this can be easily fixed (by rerunning rosinstall if I'm not mistaken, or even manually fixing the setup file), but it wouldn't be necessary if the setup file did append the ni stack dir to $ROS_PACKAGE_PATH instead of a hardcoded value that's created by rosinstall.

Regards,
Miguel.

El 22/02/2011, a las 12:46, Miguel Prada escribió:

> Hi all,
> 
> I just realised about a potential pitfall in how the setup.sh file in
> the ni stack works. Sorry if this has already been brought to
> attention, but I couldn't find any reference.
> 
> I've seen that the setup.sh file inside the ni stack writes the
> ROS_PACKAGE_PATH with the path of ni and the path where ros is
> installed (e.g. /opt/ros/diamondback). The thing is that if I have
> added some extra folders to the ROS_PACKAGE_PATH in my .bashrc before
> sourcing the setup.sh in ni stack, it will erase those extra folders.
> 
> For example, if my .bashrc has:
> 
> source /opt/ros/diamondback/setup.bash
> export ROS_PACKAGE_PATH=/my/additional/ros/stacks:$ROS_PACKAGE_PATH
> source ~/ni/setup.bash
> 
> Then /my/additional/ros/stacks will not be part of the environment
> variable, and thus my packages won't be found by ROS.
> 
> Wouldn't it be better if the setup.sh in the ni stack would prepend
> the ni stack folder to $ROS_PACKAGE_PATH instead of
> /opt/ros/diamondback? Or am I doing something wrong?
> 
> Regards,
> Miguel.




More information about the ros-users mailing list