Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linking error in ecto modules when python3 is installed #237

Open
tu-rbo opened this issue Jun 11, 2013 · 0 comments
Open

Linking error in ecto modules when python3 is installed #237

tu-rbo opened this issue Jun 11, 2013 · 0 comments

Comments

@tu-rbo
Copy link

tu-rbo commented Jun 11, 2013

I have a problem building a custom ecto module when python3 is installed (in parallel with python2.7) on ubuntu 11.10, using ecto from the ros/fuerte package.

My CMake output when building my custom module (simply the tutorial) reads as follows:

-- The C compiler identification is GNU 4.6.1
-- The CXX compiler identification is GNU 4.6.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PythonLibs: /usr/lib/python3.2/config/libpython3.2.so (found version "3.2.2")
-- Found Git: /usr/bin/git (found version "1.7.5.4")
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found.
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE 
-- Boost version: 1.47.0
-- Found the following Boost libraries:
--   python
--   thread
--   system
-- Configuring done
-- Generating done

However, when I start hello.py I get the following error though:

$ python3.2 hello.py
Traceback (most recent call last):
  File "hello.py", line 3, in <module>
    import ecto_tutorial.tutorial as tutorial
ImportError: /home/shoefer/workspace/my_ecto_project/build/gen/py/ecto_tutorial/tutorial.so: undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE

(the same happens when using the python2.7 executable)

When checking the ecto module using
ld gen/py/ecto_tutorial/tutorial.so
We see the following:
gen/py/ecto_tutorial/tutorial.so: undefined reference to `boost::python::detail::init_module(PyModuleDef&, void (*)())'
which lead me to the following post:
http://stackoverflow.com/questions/5810101/undefined-boost-python-symbol-boostpythondetailinit-module

Temporarily removing python 3.2 from my system does the job for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants