[ros-users] ROS_HOME and rosinstall

Top Page
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
To: User discussions
Subject: [ros-users] ROS_HOME and rosinstall

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
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.