Op 02-12-2010 04:26, Ken Conley schreef: > Hi Rene, > > On Wed, Dec 1, 2010 at 3:29 PM, Rene Ladan wrote: >> Note that I install everything except the "build" directories, but for >> tf there are only files under CMakeFiles. Is there some convention in >> Python for importing C/C++ modules? > > Your setup is different enough that I don't know what's at issue. To > answer your question, Python will search the sys.path for the .so > files. Our 'load_manifest' logic adds package/src and package/lib to > this path. It does not modify the underlying path. > I might have figured out the problem, it is probably in the underlying lapack library: % python Python 2.6.6 (r266:84292, Sep 13 2010, 13:38:55) [GCC 4.2.1 20070719 [FreeBSD]] on freebsd9 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> print sys.path ['', '/usr/local/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg', '/usr/local/lib/python2.6/site-packages/logilab_astng-0.20.1-py2.6.egg', '/usr/local/lib/python2.6/site-packages/nose-0.11.4-py2.6.egg', '/usr/local/lib/python2.6/site-packages/python_dateutil-1.5-py2.6.egg', '/usr/local/lib/python2.6/site-packages/pytz-2010o-py2.6.egg', '/usr/local/ros/ros/core/roslib/src', '/usr/local ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <- ok ... >>> import roslib >>> roslib.load_manifest('tf') >>> print sys.path ['/usr/local/ros/stacks/geometry/tf/src', '/usr/local/ros/stacks/geometry/tf/lib', <-- so _tf.so can be found in tf/lib, ok ... >>> import _tf (ok, no error message from Python) >>> import tf added tf to path (from a local print added to geometry/tf/src/tf/listener.py) Traceback (most recent call last): File "", line 1, in File "/usr/local/ros/stacks/geometry/tf/src/tf/__init__.py", line 29, in from listener import TransformListener, TransformerROS File "/usr/local/ros/stacks/geometry/tf/src/tf/listener.py", line 35, in from tf import transformations File "/usr/local/ros/stacks/geometry/tf/src/tf/transformations.py", line 174, in import numpy File "/usr/local/lib/python2.6/site-packages/numpy/__init__.py", line 136, in import add_newdocs File "/usr/local/lib/python2.6/site-packages/numpy/add_newdocs.py", line 9, in from numpy.lib import add_newdoc File "/usr/local/lib/python2.6/site-packages/numpy/lib/__init__.py", line 13, in from polynomial import * File "/usr/local/lib/python2.6/site-packages/numpy/lib/polynomial.py", line 17, in from numpy.linalg import eigvals, lstsq File "/usr/local/lib/python2.6/site-packages/numpy/linalg/__init__.py", line 48, in from linalg import * File "/usr/local/lib/python2.6/site-packages/numpy/linalg/linalg.py", line 23, in from numpy.linalg import lapack_lite ImportError: /usr/local/lib/liblapack.so.4: Undefined symbol "spotrs_" (broken package) >>> This works fine in a Python session (load _rxtoolscpp.so): acer % python Python 2.6.6 (r266:84292, Sep 13 2010, 13:38:55) [GCC 4.2.1 20070719 [FreeBSD]] on freebsd9 Type "help", "copyright", "credits" or "license" for more information. >>> import roslib >>> roslib.load_manifest('rxtools') >>> import _rxtoolscpp >>> So all I can do is wait for the lapack library to be fixed again, the problem is not related to my ROS port. Regards, Rene -- http://www.rene-ladan.nl/ GPG fingerprint = ADBC ECCD EB5F A6B4 549F 600D 8C9E 647A E564 2BFC (subkeys.pgp.net)