Re: [ros-users] [freebsd] "rostopic echo /tf" does not work?

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: Re: [ros-users] [freebsd] "rostopic echo /tf" does not work?
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 "<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)