[ros-users] ROS_HOME and rosinstall

Thibault Kruse kruset at in.tum.de
Wed Feb 1 19:46:45 UTC 2012


Hi,

ROS_HOME currently defines a path that can be used to dump certain 
build, compilation and runtime files (e.g. test results, log files, 
rosjava jars, roslisp binaries). See 
http://ros.org/wiki/ROS/EnvironmentVariables
It defaults to ~/.ros.

I believe it can easily cause trouble when users have different ROS 
distros installed that share the same ROS_HOME, in particular for binaries.

I wonder whether it would be useful to make rosinstall by default set 
ROS_HOME to something more specific than ~/.ros.
For debian packages of ROS, it might be useful to set ROS_HOME to 
~/.ros/<distro> in the setup.sh.

Else, rosinstall could specify a specific subdirectory for the given 
rosinstall location.
That could e.g. be something like "<path_to_new_.rosinstall>/ros_data" 
or .../ros_temp

I am not sure whether there are useful cases for sharing data within the 
same ROS_HOME between setups with different ROS_ROOT or different 
ROS_PACKAGE_PATH, and whether those would justify keeping a single 
default ROS_HOME, rather than making that an expert option.

The only risk i see in having individual ROS_HOMEs for individual 
rosinstall environments is that users may collect several such obsolete 
directories on their harddrive over time, taking up space (e.g. for 
logs) while being invisible to the current ROS_HOME and thus to tools 
like rosclean and roswtf.

One alternative would be to define a new env variable, e.g. ROS_BINS, 
where binaries should go, while test results and logs would still go to 
ROS_HOME, and let rosinstall manage that new env variable ROS_BINS the 
way suggested above for ROS_HOME.

cheers,
   Thibault



More information about the ros-users mailing list