Skip to content
This repository has been archived by the owner. It is now read-only.

Broken libpython3.2-dev deb crashes source built #302

Closed
bit-pirate opened this issue Sep 6, 2013 · 6 comments

Comments

Projects
None yet
2 participants
@bit-pirate
Copy link
Contributor

commented Sep 6, 2013

For my hydro source install on Precise I had to manually install python3.2-dev to get the planning interface compiling.

Shouldn't that be listed in the package.xml/CMakeLists.txt?

@isucan

This comment has been minimized.

Copy link
Contributor

commented Sep 6, 2013

Hmm. The need for python would be in package.xml, and it is there. I am not sure what is going on. Do you have other python versions installed?

@bit-pirate

This comment has been minimized.

Copy link
Contributor Author

commented Sep 7, 2013

True and it resolves to python-dev on Ubuntu. However, I needed python 3.2 -dev. Might this needs to be specified differently?

@bit-pirate

This comment has been minimized.

Copy link
Contributor Author

commented Sep 12, 2013

Btw, this is the error showing up when compiling:

Linking CXX shared library /opt/korus_workspace/moveit_ws/devel/lib/libmoveit_move_group_pick_place_capability.so
[ 88%] Built target moveit_move_group_pick_place_capability
make[2]: *** No rule to make target `/usr/lib/libpython3.2mu.so', needed by `/opt/korus_workspace/moveit_ws/devel/lib/libmoveit_py_bindings_tools.so'. Stop.
make[1]: *** [moveit_ros/planning_interface/py_bindings_tools/CMakeFiles/moveit_py_bindings_tools.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** No rule to make target `/usr/lib/libpython3.2mu.so', needed by `/opt/korus_workspace/moveit_ws/devel/lib/libmoveit_common_planning_interface_objects.so'. Stop.
make[1]: *** [moveit_ros/planning_interface/common_planning_interface_objects/CMakeFiles/moveit_common_planning_interface_objects.dir/all] Error 2
@bit-pirate

This comment has been minimized.

Copy link
Contributor Author

commented Sep 12, 2013

libpython3.2 get's pulled in when installing ros-hydro-moveit-full. Currently it looks like it has to do with this bug: https://bugs.launchpad.net/ubuntu/+source/python2.7/+bug/941362
I have this broken symlink, too.

$ ll /usr/lib/python3.2/config/
total 76
drwxr-xr-x  2 root root  4096 Sep 12 15:58 ./
drwxr-xr-x 31 root root 12288 Sep 12 15:58 ../
lrwxrwxrwx  1 root root    23 Apr 10 15:13 libpython3.2mu.so -> ../../libpython3.2mu.so
lrwxrwxrwx  1 root root    17 Apr 10 15:13 libpython3.2.so -> libpython3.2mu.so
-rw-r--r--  1 root root 58147 Apr 10 15:12 Makefile
$ ll /usr/lib/libpython3.2mu.so
ls: cannot access /usr/lib/libpython3.2mu.so: No such file or directory
$ ll /usr/lib/libpython3.2mu.so.1
lrwxrwxrwx 1 root root 21 Apr 10 15:13 /usr/lib/libpython3.2mu.so.1 -> libpython3.2mu.so.1.

I manually added the soft link libpython3.2mu.so.1 -> libpython3.2mu.so.1., which makes the error go away. However that can't be the right solution ...

I checked the moveit debs for their dependencies. Python 3 get's pulled in by: ros-hydro-moveit-ros-visualization -> ros-hydro-rviz -> ros-hydro-python-qt-binding -> libpyside-dev/libshiboken-dev -> libpython3.2.

I wonder, if Python3.2 should be in the Precise debs at all? python is resolved by rosdep to python-dev, which is at version 2.7.3 for Precise. 2.7 is also default for Ubuntu until 14.04. Also, Python 3 support in ROS is still not completed. I'll open up a ticket over at the python qt binding repo.

@bit-pirate

This comment has been minimized.

Copy link
Contributor Author

commented Sep 12, 2013

@bit-pirate

This comment has been minimized.

Copy link
Contributor Author

commented Sep 12, 2013

OK, after talking with @stonier we came to the conclusion that the CMakeLists for the planning_interface/py_bindings_tools should explicitly look for version 2.7. Otherwise it will pick up the latest one, i.e. 3.2, for which the -dev version is not installed, because of the ROS/rosdep default mentioned above. Since the dev version is not installed, the symlink is missing and the build fails.

Sorry for the spam! This has been another linux/debian/cmake/ros lesson for me.

@isucan isucan closed this in e808f27 Sep 12, 2013

isucan added a commit that referenced this issue Sep 12, 2013

Merge pull request #310 from bit-pirate/python-fix
specifies python version 2.7 for linking (fixes #302)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.