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

Problem with catkin_make in Arch_linux

asked 2014-10-04 12:22:59 -0500

neoDEH gravatar image

Hi

I followed the instructions in http://wiki.ros.org/indigo/Installation/Arch.

If i typed catkin_make i get

Exhibt A :

[neo@arch ros2]$ indigo
[neo@arch ros2]$ catkin_make
Base path: /home/neo/ros2
Source space: /home/neo/ros2/src
Build space: /home/neo/ros2/build
Devel space: /home/neo/ros2/devel
Install space: /home/neo/ros2/install
####
#### Running command: "cmake /home/neo/ros2/src -DCATKIN_DEVEL_PREFIX=/home/neo/ros2/devel -DCMAKE_INSTALL_PREFIX=/home/neo/ros2/install" in "/home/neo/ros2/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/neo/ros2/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/indigo
-- This workspace overlays: /opt/ros/indigo
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using default Python package layout
-- Could NOT find PY_em (missing:  PY_EM) 
CMake Error at /opt/ros/indigo/share/catkin/cmake/empy.cmake:29 (message):
  Unable to find either executable 'empy' or Python module 'em'...  try
  installing the package 'python-empy'
Call Stack (most recent call first):
  /opt/ros/indigo/share/catkin/cmake/all.cmake:146 (include)
  /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:52 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/neo/ros2/build/CMakeFiles/CMakeOutput.log".
Invoking "cmake" failed

But if i do the following catkin_make works

Exhibt B :

[neo@arch ros2]$ indigo
[neo@arch ros2]$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so
Base path: /home/neo/ros2
Source space: /home/neo/ros2/src
Build space: /home/neo/ros2/build
Devel space: /home/neo/ros2/devel
Install space: /home/neo/ros2/install
####
#### Running command: "cmake /home/neo/ros2/src -DCATKIN_DEVEL_PREFIX=/home/neo/ros2/devel -DCMAKE_INSTALL_PREFIX=/home/neo/ros2/install -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so" in "/home/neo/ros2/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/neo/ros2/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/indigo
-- This workspace overlays: /opt/ros/indigo
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.8") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using default Python package layout
-- Found PY_em: /usr/lib/python2.7/site-packages/em.pyc  
-- Using empy: /usr/lib/python2.7/site-packages/em.pyc
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/neo/ros2/build/test_results
-- Found gtest: gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.9
-- BUILD_SHARED_LIBS is on
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    PYTHON_INCLUDE_DIR
    PYTHON_LIBRARY


-- Build files have been written to: /home/neo/ros2/build
####
#### Running command: "make -j4 -l4" in "/home/neo/ros2/build"
####

The problem is as i understand is because of the package empy. Also i see that in the log output of Exhibit A The PYTHON_EXECUTABLE: /usr/bin/python and not as PYTHON_EXECUTABLE: /usr/bin/python2 which is seen in Exhibit B.

How can this be ?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2014-12-02 12:53:25 -0500

bchr gravatar image

updated 2014-12-02 13:09:03 -0500

Everything is explained in the Wiki (that you did not read thoroughly apparently), including the options to use with catkin_make and the problems you can encounter. Arch Linux uses Python 3 as its default Python version, while ROS still relies on Python 2 (although support is being added). All the ROS packages on Arch are set to use Python 2, but the user still needs to set his environment variables accordingly, and use adequate Python 2 options when required. I updated the Wiki to make it more clear for users who may not know much about Python 2/Python 3 conflicts.

edit flag offensive delete link more
0

answered 2019-05-14 11:04:03 -0500

bionade24 gravatar image

Hello I'm the new ROS melodic AUR maintainer and now ros-melodic-ros-base is building again, but I had the same issue. I forced to use python3, and fixed it by adding the excutable out of the debian sid package.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2014-10-04 12:22:59 -0500

Seen: 2,279 times

Last updated: Dec 02 '14