[ros-users] [freebsd] "rostopic echo /tf" does not work?
Rene Ladan
rene at freebsd.org
Thu Dec 2 15:04:49 UTC 2010
Op 02-12-2010 04:26, Ken Conley schreef:
> Hi Rene,
>
> On Wed, Dec 1, 2010 at 3:29 PM, Rene Ladan <rene at freebsd.org> 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 "<stdin>", line 1, in <module>
File "/usr/local/ros/stacks/geometry/tf/src/tf/__init__.py", line 29,
in <module>
from listener import TransformListener, TransformerROS
File "/usr/local/ros/stacks/geometry/tf/src/tf/listener.py", line 35,
in <module>
from tf import transformations
File "/usr/local/ros/stacks/geometry/tf/src/tf/transformations.py",
line 174, in <module>
import numpy
File "/usr/local/lib/python2.6/site-packages/numpy/__init__.py", line
136, in <module>
import add_newdocs
File "/usr/local/lib/python2.6/site-packages/numpy/add_newdocs.py",
line 9, in <module>
from numpy.lib import add_newdoc
File "/usr/local/lib/python2.6/site-packages/numpy/lib/__init__.py",
line 13, in <module>
from polynomial import *
File "/usr/local/lib/python2.6/site-packages/numpy/lib/polynomial.py",
line 17, in <module>
from numpy.linalg import eigvals, lstsq
File
"/usr/local/lib/python2.6/site-packages/numpy/linalg/__init__.py", line
48, in <module>
from linalg import *
File "/usr/local/lib/python2.6/site-packages/numpy/linalg/linalg.py",
line 23, in <module>
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)
More information about the ros-users
mailing list