Ask Your Question
0

CMake error while executing catkin_make on Ubuntu 14.04 with ROS Jade

asked 2015-08-08 08:59:08 -0500

tejas gravatar image

updated 2015-11-03 18:14:12 -0500

I am new to ROS and just getting it installed and configured using the method here: http://wiki.ros.org/ROS/Tutorials/Ins...

I am a beginner and have minimal knowledge of these things, so it would be helpful if someone could present a simplified solution that would solve my problem.
I can run everything correctly till I encounter the command catkin_make which produces the following error:

Base path: /home/tejas/catkin_ws
Source space:
/home/tejas/catkin_ws/src Build space:
/home/tejas/catkin_ws/build Devel
space: /home/tejas/catkin_ws/devel
Install space:
/home/tejas/catkin_ws/install
####
#### Running command: "cmake /home/tejas/catkin_ws/src
-DCATKIN_DEVEL_PREFIX=/home/tejas/catkin_ws/devel
-DCMAKE_INSTALL_PREFIX=/home/tejas/catkin_ws/install
-G Unix Makefiles" in "/home/tejas/catkin_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/tejas/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/jade
-- This workspace overlays: /opt/ros/jade
-- Using PYTHON_EXECUTABLE: /home/tejas/anaconda/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/tejas/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7 Traceback (most
recent call last):   File
"/opt/ros/jade/share/catkin/cmake/parse_package_xml.py",
line 98, in <module>
    main()   File "/opt/ros/jade/share/catkin/cmake/parse_package_xml.py",
line 90, in main
    package = parse_package(args.package_xml)   File
"/home/tejas/anaconda/lib/python2.7/site-packages/catkin_pkg/package.py",
line 317, in parse_package
    return parse_package_string(f.read(),
filename)   File
"/home/tejas/anaconda/lib/python2.7/site-packages/catkin_pkg/package.py",
line 450, in parse_package_string
    raise InvalidPackage('Error(s) in %s:%s' % (filename, ''.join(['\n- %s'
% e for e in errors])))
catkin_pkg.package.InvalidPackage:
Invalid package manifest
"/opt/ros/jade/share/catkin/cmake/../package.xml":
Error(s) in
/opt/ros/jade/share/catkin/cmake/../package.xml:
- The manifest must not contain the following tags: depend,
build_export_depend,
buildtool_export_depend CMake Error at
/opt/ros/jade/share/catkin/cmake/safe_execute_process.cmake:11
(message):  
execute_process(/home/tejas/anaconda/bin/python
"/opt/ros/jade/share/catkin/cmake/parse_package_xml.py"
"/opt/ros/jade/share/catkin/cmake/../package.xml"
"/home/tejas/catkin_ws/build/catkin/catkin_generated/version/package.cmake")
returned error code 1 Call Stack (most
recent call first):  
/opt/ros/jade/share/catkin/cmake/catkin_package_xml.cmake:63
(safe_execute_process)  
/opt/ros/jade/share/catkin/cmake/all.cmake:151
(_catkin_package_xml)  
/opt/ros/jade/share/catkin/cmake/catkinConfig.cmake:20
(include)   CMakeLists.txt:52
(find_package)


-- Configuring incomplete, errors occurred! See also
"/home/tejas/catkin_ws/build/CMakeFiles/CMakeOutput.log". See also
"/home/tejas/catkin_ws/build/CMakeFiles/CMakeError.log".

Invoking "cmake" failed
edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted
0

answered 2015-08-10 04:23:30 -0500

tejas gravatar image

Failing to find a solution, I decided to switch to my default python interpreter from the anaconda version I was using. That solved the problem.

edit flag offensive delete link more

Comments

Obviously, that would solve your problem, but it doesn't answer your question.

OzzieTheHead gravatar image OzzieTheHead  ( 2018-02-21 13:29:22 -0500 )edit
2

answered 2016-09-19 12:10:27 -0500

OzzieTheHead gravatar image

updated 2016-09-26 09:02:16 -0500

Following this guide and adapting it to Ubuntu, I was able to solve the same problem. Prepare ROS libraries and anaconda environment for raspberry-pi

conda versions of ros and catkin's packages are very old. remove them and install them with pip.

Do:

pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools

if you get an error during this, install setuptools using

conda install setuptools

If rosdep update fails, reinstall catking_pkg with pip.

Referring to this might also help, but instead of deleting the folder as it says, I reinstalled catkin_pkg: problem-with-catkin_make

edit flag offensive delete link more
0

answered 2015-08-08 13:49:01 -0500

Dirk Thomas gravatar image

It looked like you have an outdated version of catkin_pkg installed in /home/tejas/anaconda/lib/python2.7/site-packages/catkin_pkg. You should remove that and use the up-to-date Debian package python-catkin-pkg instead.

edit flag offensive delete link more

Comments

I removed the catkin_pkg from anaconda and installed python-catkin-pkg. I still get an error saying ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package" There is only catkin_pkg available for conda it seems. Could you help please.

tejas gravatar image tejas  ( 2015-08-08 23:37:23 -0500 )edit
-1

answered 2015-11-03 13:07:51 -0500

updated 2015-11-03 13:55:01 -0500

I faced this some time back after installing Conda. tl;dr: Do pip install catkin_pkg.
Chances are you also want to do pip install rospkg as you'll get ImportError: No module named 'rospkg' using launch files as well.

Maybe appending /opt/ros/indigo/lib/python2.7/dist-packages/ to $PYTHONPATH is a better solution (if that's not already there, then it's a different problem). Not tested though.

You can read about the details in the following answers.

catkin_pkg:
http://answers.ros.org/question/12647...
http://answers.ros.org/question/20402...
http://answers.ros.org/question/49143...
http://answers.ros.org/question/61027...

rospkg:
http://answers.ros.org/question/85211...
http://answers.ros.org/question/86126...

edit flag offensive delete link more

Comments

You should not use pip to install dependencies on Ubuntu! Use the Debian packages available.

Dirk Thomas gravatar image Dirk Thomas  ( 2015-11-03 13:24:10 -0500 )edit

The debians dependencies are already installed. I'm guessing this is happening _specifically_ due to Conda, which is changing the directory from where to find things. pip install catkin_pkg rospkg works for the two errors above. Do you recommend a better way to do the same?

ratneshmadaan gravatar image ratneshmadaan  ( 2015-11-03 13:43:37 -0500 )edit

And why should one not use pip? It seems to work here. I admit I didn't really bother with finding the exact cause - some path conflict due to Conda - and an easier fix.

ratneshmadaan gravatar image ratneshmadaan  ( 2015-11-03 13:44:49 -0500 )edit

Yeah I guess one needs to append this back again to $PYTHONPATH /opt/ros/indigo/lib/python2.7/dist-packages/. Conda seems to have removed it from the path.

ratneshmadaan gravatar image ratneshmadaan  ( 2015-11-03 13:51:42 -0500 )edit

PIP packages overlay their Debian equivalent but don't get updated update when other packages require a newer version.

Dirk Thomas gravatar image Dirk Thomas  ( 2015-11-03 13:59:16 -0500 )edit

Most of catkin depend on packages of python scripts such as rospkg, caktin_pkg and that is why rosdep update is there.

OzzieTheHead gravatar image OzzieTheHead  ( 2016-09-22 08:58:38 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2015-08-08 08:54:53 -0500

Seen: 2,875 times

Last updated: Sep 26 '16