ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

compiling ROS on Debian

asked 2012-10-20 03:35:25 -0600

erniejunior gravatar image

updated 2014-01-28 17:14:00 -0600

ngrennan gravatar image

Hello,

I am trying to get started with ROS under debian. I followed the install instructions for debian until the point where it is compiled using make. There I run into trouble building the rxtools with the following error:

make[2]: * No rule to make target '/usr/lib/python3.2/config/libpython3.2.so', needed by `lib/_rxtoolscpp.so'. Stop.

make[1]: * [rx/rxtools/CMakeFiles/python_rxtools.dir/all] Error 2

make: * [all] Error 2

The folder 'rx/rxtools/CMakeFiles' does not exist in my ros-underlay folder! I also think it is strange, that libpython is built by ROS. I ran into some small, solvable problems during the installation process before, but I could not find anything about this error in the net and am kind of lost here.

Thank you in advance,

Maximilian

[Edit:] I did my research and found out that for some reason make wants to build libpython3.2.so which is already installed on my system.

A workaround for me was to remove the line "lib/_rxtoolscpp.so: /usr/lib/python3.2/config/libpython3.2.so" from the file build/rxtools/CMakeFiles/python_rxtools.dir/build.make and change "-lpython3.2" in build/rxtools/CMakeFiles/python_rxtools.dir/link.txt to "-L/usr/lib/python3.2/config/libpython3.2.so".

make and make install now runs without any errors but I do not think that this ugly fix is the right way to compile ROS. Maybe there is a problem with the CMake files somewhere and this could be a bug.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2013-09-11 22:22:44 -0600

bit-pirate gravatar image

updated 2013-09-11 23:04:28 -0600

I'm not sure for Debian, but for Ubuntu Python 2.7 will be the default until 14.04 (source). If you are working with sources, than you might have used rosdep to install system dependencies. rosdep resolves the dependency on python to python-dev, what for Ubuntu Precise points to python2.7-dev.

However, if you have python3.2 installed cmake might look for python3.2-dev, which won't be pulled in by rosdep.

So, you could manually install python3.2-dev or force cmake to look for a specific version, e.g.

find_package(PythonLibs 2.7 REQUIRED)

Hope this helps!

edit flag offensive delete link more

Comments

Thanks for your answer! It solved my problem :-)

Rasoul gravatar image Rasoul  ( 2014-12-11 09:27:20 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2012-10-20 03:35:25 -0600

Seen: 505 times

Last updated: Sep 11 '13