Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • bob.math bob.math
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • bobbob
  • bob.mathbob.math
  • Issues
  • #4
Closed
Open
Issue created May 26, 2016 by André Anjos@andre.anjos💬Owner

setup.py does not work with NumPy manylinux1 wheel

Created by: siebenkopf

When I install a new virtual environment (using virtual_build.sh from bob.nightlies) by using the automatically downloaded NumPy wheel, I am not able to install bob.math in this environment. The error message that I get is:

$ virtualenv/bin/pip install bob.math
...
    LAPACK/BLAS configuration from NumPy:
     * system include directories:
     * defines: -DHAVE_CBLAS=None
     * linking arguments:
     * libraries: openblas
     * library directories: /usr/local/lib
...
    /usr/bin/ld: cannot find -lopenblas
...

After some investigations, I found that the reason is that the NumPy wheel is created using openBLAS: http://comments.gmane.org/gmane.comp.python.wheel-builders/18 which will result in the fact that the NumPy default options as used here: https://github.com/bioidiap/bob.math/blob/master/setup.py#L124 are not working. After installing libopenblas-dev locally, bob.math compiles and installs, but when I try to use it, I get the error message:

$ virtualenv/bin/python
>>> import bob.math
OSError: virtualenv/local/lib/python2.7/site-packages/bob/math/libbob_math.so: undefined symbol: dsyevd_

Apparently, it still does not work, as openBLAS does not seem to come with a dsyevd_ method.

My current solution is to force NumPy to be compiled from source, but this is not a good solution for people who are not very familiar with the installation process. A better solution would be to adapt the setup.py accordingly, i.e., to use the LAPACK/BLAS configuration that is available on the system, and do not rely on the NumPy build.

Assignee
Assign to
Time tracking