Skip to content

Python import errors for MA27 and MA57 #8

@lambe

Description

@lambe

(This is the same issue I mentioned to @syarra privately earlier this week.)

The module compiles with no issues and importing MC21, MC29, and MC60 modules in Python is fine. However importing the solvers MA27 and MA57 gives the following error:

from hsl.solvers import _pyma27
ImportError: /home/andrew/anaconda3/envs/nlpy-dev/lib/python2.7/site-packages/hsl-0.1.0.dev0-py2.7-linux-x86_64.egg/hsl/solvers/_pyma27.so: undefined symbol: cblas_idamax

The symbol in question is identified in cblas.h (both in this repo and different versions on my laptop, such as the one included with OpenBLAS) so I suspect a bad include or link of some kind.

Some diagnostics: I compiling the master branch on Ubuntu 16.04, using python 2.7 through the Anaconda distribution (via a virtual environment). If I test the built *.so modules with ld directly, I get

ld: warning: cannot find entry symbol _start; not setting start address
_pyma27.so: undefined reference to `cblas_idamax'
_pyma27.so: undefined reference to `cblas_dcopy'
_pyma27.so: undefined reference to `cblas_daxpy'

and

ld: warning: cannot find entry symbol _start; not setting start address
_pyma57.so: undefined reference to `dgemm_'
_pyma57.so: undefined reference to `dtpsv_'
_pyma57.so: undefined reference to `cblas_dcopy'
_pyma57.so: undefined reference to `idamax_'
_pyma57.so: undefined reference to `dgemv_'

for _pyma27.so and _pyma57.so respectively. Again, everything seems to point to cblas.h not being correctly handled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions