Package Details: ros-indigo-roslib 1.11.12-1

Git Clone URL: https://aur.archlinux.org/ros-indigo-roslib.git (read-only)
Package Base: ros-indigo-roslib
Description: ROS - Base dependencies and support libraries for ROS.
Upstream URL: http://ros.org/wiki/roslib
Licenses: BSD
Submitter: bchretien
Maintainer: None
Last Packager: bchretien
Votes: 1
Popularity: 0.000000
First Submitted: 2014-06-04 21:32
Last Updated: 2016-03-24 02:02

Sources (1)

Latest Comments

igoralmeida commented on 2015-12-01 14:37

That's interesting, I can no longer reproduce the issue and see the same results as your previous post.
Besides, running 'makepkg -f' inside /tmp/yaourt-tmp-ima/aur-ros-indigo-roslib also completes successfully now, even if jade's setup.bash has been sourced.

My guess, then, is that the bug only happens because the current version (the one being installed, in my case indigo) already has some files in /opt/ros, but not enough to be completely (consistently?) sourced at the time ros-indigo-roslib is being built...
Anyway, I managed to finish the build moving /opt/ros/jade/etc/catkin/profile.d/* to /tmp, to avoid the problem I pasted in my '2015-11-30 20:12' comment (sourcing indigo's setup.bash but ending up with ROS_DISTRO=jade). I then moved those files back to where they belong.

bchretien commented on 2015-12-01 13:49

@igoralmeida: can you paste the output of `env | grep ROS` before running makepkg? I haven't been able to reproduce your error when switching back and forth between indigo and jade.

$ env | grep ROS
$ source /opt/ros/jade/setup.bash
$ env | grep ROS
ROS_ROOT=/opt/ros/jade/share/ros
ROS_PACKAGE_PATH=/opt/ros/jade/share:/opt/ros/jade/stacks
ROS_MASTER_URI=http://localhost:11311
ROSLISP_PACKAGE_DIRECTORIES=
ROS_DISTRO=jade
ROS_ETC_DIR=/opt/ros/jade/etc/ros
$ source /opt/ros/indigo/setup.bash
ROS_DISTRO was set to 'jade' before. Please make sure that the environment does not mix paths from different distributions.
$ env | grep ROS
ROS_ROOT=/opt/ros/indigo/share/ros
ROS_PACKAGE_PATH=/opt/ros/indigo/share:/opt/ros/indigo/stacks
ROS_MASTER_URI=http://localhost:11311
ROSLISP_PACKAGE_DIRECTORIES=
ROS_DISTRO=indigo
ROS_ETC_DIR=/opt/ros/indigo/etc/ros

igoralmeida commented on 2015-12-01 12:34

I didn't, but PKGBUILD does, inside build(), and then catkin (?) will do it again when calling env.sh. At that point, the "ROS_DISTRO was set to 'xxx' before..." warning message will contaminate stdout. And yes, clear-ros-env.sh is useful and it may help preventing the contamination, but it does not help with ROS_DISTRO being set incorrectly. Apparently that happens during the loop at the end of setup.sh, when it sources .../etc/catkin/profile.d/10.ros.sh (and siblings) for all the environments it can find in /opt.

bchretien commented on 2015-11-30 21:47

@igoralmeida: did you source /opt/ros/jade/setup.bash before trying to build the indigo package? As I said to ngoonee, automatically sourcing ROS is a bad idea and should be avoided.

Then you have /usr/share/ros-build-tools/clear-ros-env.sh that tries to undo this, but this is a poor attempt to solve this issue, and it never really worked correctly. I think they solved it a while back in catkin, so can you retry without it? If that works, I'll just update ros-build-tools and empty the script.

igoralmeida commented on 2015-11-30 20:12

It seems _setup_util.py picks up an existing jade installation, while I'm trying to install indigo. This prevents me from installing this package (my build fails, just like ngoonee's below).

------------8<---------------
16:59 ima@arch-laptop: /opt/ros/indigo $ . setup.bash
16:59 ima@arch-laptop: /opt/ros/indigo $ echo $ROS_DISTRO
jade
------------8<---------------

You can see in PKGBUILD that build() sources /opt/ros/indigo/setup.bash, and eventually generate_environment_script() will do the same thing (plus it will call '/usr/bin/python2 -c import os; print(dict(os.environ))'), which causes the error message to contaminate os.environ, which is what ast.literal_eval() expects.

bchretien commented on 2014-10-30 09:55

@ngoonee: you should not source /opt/ros/*/setup.sh by default, only do that in shells dedicated to ROS, as explained in the ROS Wiki (http://wiki.ros.org/indigo/Installation/Arch).

ngoonee commented on 2014-10-30 00:25

Do I need to totally uninstall hydro first? It seems that that line is warning though, the build-failure may not be because of it.

==> Starting build()...
-- Using CATKIN_DEVEL_PREFIX: /tmp/yaourt-tmp-ngoonee/aur-ros-indigo-roslib/src/build/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/indigo;/opt/ros/hydro
-- This workspace overlays: /opt/ros/indigo;/opt/ros/hydro
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using default Python package layout
-- Using empy: /usr/lib/python2.7/site-packages/em.pyc
-- Using CATKIN_ENABLE_TESTING: ON
-- Skip enable_testing() when building binary package
-- Using CATKIN_TEST_RESULTS_DIR: /tmp/yaourt-tmp-ngoonee/aur-ros-indigo-roslib/src/build/test_results
-- Found gtest: gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.9
Traceback (most recent call last):
File "/tmp/yaourt-tmp-ngoonee/aur-ros-indigo-roslib/src/build/catkin_generated/generate_cached_setup.py", line 21, in <module>
code = generate_environment_script('/tmp/yaourt-tmp-ngoonee/aur-ros-indigo-roslib/src/build/devel/env.sh')
File "/opt/ros/indigo/lib/python2.7/site-packages/catkin/environment_cache.py", line 62, in generate_environment_script
env_after = ast.literal_eval(output.decode('utf8'))
File "/usr/lib/python2.7/ast.py", line 49, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "/usr/lib/python2.7/ast.py", line 37, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
ROS_DISTRO was set to 'hydro' before. Please make sure that the environment does not mix paths from different distributions.
^
SyntaxError: invalid syntax
CMake Error at /opt/ros/indigo/share/catkin/cmake/safe_execute_process.cmake:11 (message):
execute_process(/usr/bin/python2
"/tmp/yaourt-tmp-ngoonee/aur-ros-indigo-roslib/src/build/catkin_generated/generate_cached_setup.py")
returned error code 1
Call Stack (most recent call first):
/opt/ros/indigo/share/catkin/cmake/all.cmake:185 (safe_execute_process)
/opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:20 (include)
CMakeLists.txt:3 (find_package)


-- Configuring incomplete, errors occurred!
See also "/tmp/yaourt-tmp-ngoonee/aur-ros-indigo-roslib/src/build/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
Aborting...