@progtologist: this looks like a Python2/Python3 clash. With Python 3 (default Python on Arch Linux), print is a function and not a statement. Thus, "print repo" is wrong in Python 3, while "print(repo)" is correct. This is why we currently fix the installed Python scripts by forcing a call to Python2. If you check the first lines, we can see:
#!/usr/bin/env python2
(i.e. ./generate_environment_variables.py would call Python 2 and all is fine).
However, if you dig deeper:
$ grep -ir "generate_environment_variables.py" /opt/ros/hydro
You can see that the script is called in /opt/ros/hydro/etc/catkin/profile.d/15.rosjava.sh, and the culprit is:
SCRIPT=/opt/ros/hydro/share/rosjava_build_tools/generate_environment_variables.py
export ROS_MAVEN_PATH=`python ${SCRIPT} --maven-path`
This should be python2 and not python, because you may not have set Python 2 as your default Python (I did, thus I do not get that kind of errors).
$ pacman -Qo /opt/ros/hydro/etc/catkin/profile.d/15.rosjava.bash
---> /opt/ros/hydro/etc/catkin/profile.d/15.rosjava.bash is owned by ros-hydro-rosjava-build-tools 0.1.32-1
I'll fix ros-hydro-rosjava-build-tools soon. Check updates in the next hour.
Search Criteria
Package Details: ros-hydro-rosjava-build-tools 0.1.32-2
Package Actions
| Package Base: | ros-hydro-rosjava-build-tools |
|---|---|
| Description: | ROS - Simple tools and catkin modules for rosjava development. |
| Upstream URL: | http://www.ros.org/ |
| Category: | devel |
| Licenses: | |
| Submitter: | bchretien |
| Maintainer: | None |
| Last Packager: | None |
| Votes: | 1 |
| First Submitted: | 2014-03-02 13:23 |
| Last Updated: | 2014-04-13 16:56 |
Dependencies (5)
Required by (3)
Sources
Latest Comments
Comment by bchretien
Comment by progtologist
After installing this package I keep getting this error at every installation of a ros package:
File "/opt/ros/hydro/share/rosjava_build_tools/generate_environment_variables.py", line 51
print repo
^
SyntaxError: invalid syntax