cyberbotics / pyikfast

Python bindings for the `ikfast` library and utilities to generate the analytical inverse kinematics solution
Apache License 2.0
42 stars 5 forks source link

Undefined symbol dgeev_ #5

Open jabbershort opened 2 years ago

jabbershort commented 2 years ago

Hi,

I've just run the docker script on my URDF (from a Kinova Gen3) and when trying to execute a simple python script, I'm getting an error on importing the pyikfast_ package.

pyikfast_gen3_6dof.cpython-38-x86_64-linux-gnu.so: undefined symbol: dgeev_.

I've tried installing/updating gfortran, libopenblas-dev, liblapack-dev, python-dev as I've found recommend when googling this error, but with no luck. Do you have an advice?

saiYeswanthG commented 1 year ago

Hi,

I've just run the docker script on my URDF (from a Kinova Gen3) and when trying to execute a simple python script, I'm getting an error on importing the pyikfast_ package.

pyikfast_gen3_6dof.cpython-38-x86_64-linux-gnu.so: undefined symbol: dgeev_.

I've tried installing/updating gfortran, libopenblas-dev, liblapack-dev, python-dev as I've found recommend when googling this error, but with no luck. Do you have an advice?

Hey ! I was able to resolve the issue by making following changes to setup.py before running pip3 install . make liblapack, libblas and libgfortan available to wheels build by making following changes, the library versions may be different.

import setuptools
from distutils.core import setup, Extension

extra_objects = [
    '/usr/lib/x86_64-linux-gnu/lapack/liblapack.a',
    '/usr/lib/x86_64-linux-gnu/libgfortran.so.5.0.0',
    '/usr/lib/x86_64-linux-gnu/blas/libblas.a',
]
def main():
    setup(
        name='pyikfast_robot',
        version='0.0.1',
        description='ikfast wrapper',
        author='Cyberbotics',
        author_email='support@cyberbotics.com',
        ext_modules=[Extension('pyikfast_robot', ['ikfast_robot.cpp', 'pyikfast.cpp'],extra_objects=extra_objects)],
        setup_requires=['wheel']
    )

if __name__ == '__main__':
    main()
jwwang0-0 commented 1 year ago

I got the same error on windows machine (win 10). I saw this post but it doesn't solve my issue. https://github.com/paudetseis/Telewavesim/issues/2 Did someone figure out a solution?