Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImportError: libf77blas.so.3: cannot open shared object file: No such file or directory #27

Closed
sridharrajagopal opened this issue Aug 9, 2019 · 7 comments

Comments

@sridharrajagopal
Copy link

sridharrajagopal commented Aug 9, 2019

Hi there!

I tried installing and running as you suggested, on RPi 3B+ on the latest distro.
I got the following error:

Traceback (most recent call last):
  File "/home/pi/.local/lib/python3.5/site-packages/numpy/core/__init__.py", line 17, in <module>
    from . import multiarray
  File "/home/pi/.local/lib/python3.5/site-packages/numpy/core/multiarray.py", line 14, in <module>
    from . import overrides
  File "/home/pi/.local/lib/python3.5/site-packages/numpy/core/overrides.py", line 7, in <module>
    from numpy.core._multiarray_umath import (
ImportError: libf77blas.so.3: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./stressberry-run", line 7, in <module>
    from stressberry.cli import run
  File "/home/pi/.local/lib/python3.5/site-packages/stressberry/__init__.py", line 1, in <module>
    from . import cli
  File "/home/pi/.local/lib/python3.5/site-packages/stressberry/cli.py", line 7, in <module>
    import matplotlib.pyplot as plt
  File "/home/pi/.local/lib/python3.5/site-packages/matplotlib/__init__.py", line 141, in <module>
    from . import cbook, rcsetup
  File "/home/pi/.local/lib/python3.5/site-packages/matplotlib/cbook/__init__.py", line 33, in <module>
    import numpy as np
  File "/home/pi/.local/lib/python3.5/site-packages/numpy/__init__.py", line 142, in <module>
    from . import core
  File "/home/pi/.local/lib/python3.5/site-packages/numpy/core/__init__.py", line 47, in <module>
    raise ImportError(msg)
ImportError: 

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy c-extensions failed.
- Try uninstalling and reinstalling numpy.
- If you have already done that, then:
  1. Check that you expected to use Python3.5 from "/usr/bin/python3",
     and that you have no directories in your PATH or PYTHONPATH that can
     interfere with the Python and numpy version "1.17.0" you're trying to use.
  2. If (1) looks fine, you can open a new issue at
     https://github.com/numpy/numpy/issues.  Please include details on:
     - how you installed Python
     - how you installed numpy
     - your operating system
     - whether or not you have multiple versions of Python installed
     - if you built from source, your compiler versions and ideally a build log

- If you're working with a numpy git repository, try `git clean -xdf`
  (removes all files not under version control) and rebuild numpy.

Note: this error has many possible causes, so please don't comment on
an existing issue about this - open a new one instead.

Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory

On searching further, I found this thread - Kitt-AI/snowboy#262

where the solution was to install

sudo apt-get install libatlas-base-dev

I did that and was able to run stressberry-run successfully,.

I don't know if you need to update your instructions, or if it is a peculiarity with my setup.

Thanks,
Sridhar

@nschloe
Copy link
Owner

nschloe commented Aug 9, 2019

I don't know if you need to update your instructions, or if it is a peculiarity with my setup.

Seems like a borked system installation. When installing stress via sudo apt install stress, all dependencies should be pulled in. No idea why this wasn't the case on your machine.

@AlmightyFrog
Copy link

AlmightyFrog commented Nov 17, 2019

I've had the same issue - what about adding a short note in the readme about it?

Something like
If you get an error, that libf77blas.so.3 is not found, you might try to apt install libatlas-base-dev

@nschloe
Copy link
Owner

nschloe commented Nov 17, 2019

This is a broken installation, so not necessarily in the domain of stressberry. I might add something to the readme if more people run into this though.

@AlmightyFrog
Copy link

Not sure where that broken installation would have came from. It's a pretty clean RPI4 Raspbian Buster Lite installation.

So if i got your comment above correctly you tell this is a dependency of stress. Could you please paste what it says on your raspberry?
Here it is:

$ apt depends stress
stress
Depends: libc6 (>= 2.7)

There is a nice script at a gist (https://gist.githubusercontent.com/sr105/09d2534d467fcd8b881e/raw/713ca8f0977efc72b6d18f91f1702c3200d95dc4/apt-rdepends-tree) which draws you a full tree with all dependencies. Here you go, also there I can't find libatlas-base-dev as dependency:

$ ./apt-rdepends-tree.sh stress
Reading package lists... Done
Building dependency tree
Reading state information... Done

├─ stress
│    └─ libc6 (>= 2.7)
├─ libc6
│    └─ libgcc1
├─ libgcc1
│    ├─ gcc-9-base (= 9.2.1-19)
│    └─ libc6 (>= 2.4)
└─ gcc-9-base

Verifying reverse for libatlas-base-dev I also can't find it:

$ apt-rdepends -r libatlas-base-dev | grep stress
Reading package lists... Done
Building dependency tree
Reading state information... Done

Would be nice if you could have a look on your side, as I don't have any RPI running with the full image.

@nschloe
Copy link
Owner

nschloe commented Nov 17, 2019

You're right, it's not from stress then. Any idea where else it could come from?

@AlmightyFrog
Copy link

AlmightyFrog commented Nov 17, 2019

Not sure, but here is full output from apt-rdepends -r libatlas-base-dev, maybe you can find the application you installed there:

libatlas-base-dev
  Reverse Depends: libhypre-dev (2.15.1-5)
  Reverse Depends: libjulia1 (1.0.3+dfsg-4+rpi1)
  Reverse Depends: libmathlib2-dev (20061220+dfsg3-4.4)
  Reverse Depends: libsuperlu-dev (5.2.1+dfsg1-4)
  Reverse Depends: mapdamage (2.0.9+dfsg-1)
  Reverse Depends: odin (2.0.3-1)
  Reverse Depends: r-base-dev (3.5.2-1)
  Reverse Depends: xmds2 (2.2.3+dfsg-15)
libhypre-dev
  Reverse Depends: libpetsc-real3.10-dev (>= 3.10.3+dfsg1-5)
  Reverse Depends: libpetsc-real3.11-dev (>= 3.11.4+dfsg1-3)
  Reverse Depends: libsundials-dev (3.1.2+dfsg-3+b1)
libpetsc-real3.10-dev
  Reverse Depends: libdolfin-dev (2018.1.0.post1-16)
  Reverse Depends: libpetsc-real-dev (3.10.3+dfsg1-5)
  Reverse Depends: libpetsc-real3.10-dbg (= 3.10.3+dfsg1-5)
  Reverse Depends: libslepc-real3.10-dev (3.10.1+dfsg1-3)
libdolfin-dev
  Reverse Depends: dolfin-doc (>= 2018.1.0.post1-16)
  Reverse Depends: fenics (>= 1:2018.1.0.6+b19)
  Reverse Depends: libmshr-dev (>= 2018.1.0+dfsg1-7+b2)
  Reverse Depends: python3-dolfin (= 2018.1.0.post1-16)
dolfin-doc
  Reverse Depends: fenics (>= 1:2018.1.0.6+b19)
fenics
libmshr-dev
  Reverse Depends: python3-mshr (= 2018.1.0+dfsg1-7+b2)
python3-mshr
  Reverse Depends: fenics (>= 1:2019.1.0.3)
python3-dolfin
  Reverse Depends: dolfin-bin (>= 2018.1.0.post1-16)
  Reverse Depends: dolfin-doc (>= 2018.1.0.post1-16)
  Reverse Depends: fenics (>= 1:2018.1.0.6+b19)
  Reverse Depends: python-dolfin (>= 2018.1.0.post1-16)
  Reverse Depends: python3-mshr (>= 2018.1.0+dfsg1-7+b2)
dolfin-bin
  Reverse Depends: fenics (>= 1:2018.1.0.6+b19)
  Reverse Depends: python3-mshr (>= 2018.1.0+dfsg1-7+b2)
python-dolfin
libpetsc-real-dev
  Reverse Depends: petsc-dev (3.11.4+dfsg1-3)
petsc-dev
  Reverse Depends: libsundials-dev (3.1.2+dfsg-3+b1)
libsundials-dev
libpetsc-real3.10-dbg
libslepc-real3.10-dev
  Reverse Depends: libdolfin-dev (2018.1.0.post1-16)
  Reverse Depends: slepc-dev (3.10.1+dfsg1-3)
slepc-dev
libpetsc-real3.11-dev
  Reverse Depends: libdolfin-dev (2019.1.0-8)
  Reverse Depends: libpetsc-real-dev (3.11.4+dfsg1-3)
  Reverse Depends: libpetsc-real3.11-dbg (= 3.11.4+dfsg1-3)
  Reverse Depends: libslepc-real3.11-dev (3.11.2+dfsg1-1+b1)
libpetsc-real3.11-dbg
libslepc-real3.11-dev
  Reverse Depends: libdolfin-dev (2019.1.0-8)
  Reverse Depends: slepc-dev (3.11.2+dfsg1-1)
libjulia1
  Reverse Depends: julia (= 1.0.4+dfsg-1)
  Reverse Depends: libjulia-dev (= 1.0.3+dfsg-4+rpi1)
julia
  Reverse Depends: julia-factcheck (0.1.2-2)
julia-factcheck
libjulia-dev
libmathlib2-dev
  Reverse Depends: cernlib-core-dev (20061220+dfsg3-4.4)
  Reverse Depends: libcojets2-dev (>= 20061220+dfsg3-3.1+b4)
  Reverse Depends: libpawlib2-dev (>= 1:2.14.04.dfsg.2-9.1)
  Reverse Depends: libpdflib804-2-dev (>= 20061220+dfsg3-3.1)
  Reverse Depends: libphtools2-dev (>= 20061220+dfsg3-3.1)
cernlib-core-dev
  Reverse Depends: cernlib (20061220+dfsg3-4.4)
cernlib
libcojets2-dev
  Reverse Depends: cernlib-montecarlo (>= 20061220+dfsg3-3.1)
cernlib-montecarlo
  Reverse Depends: cernlib (20061220+dfsg3-4.4)
libpawlib2-dev
  Reverse Depends: cernlib-core-dev (20061220+dfsg3-4.4)
  Reverse Depends: libpawlib-lesstif3-dev (= 1:2.14.04.dfsg.2-9.1)
libpawlib-lesstif3-dev
  Reverse Depends: cernlib-core-dev (20061220+dfsg3-4.4)
  Reverse Depends: libgeant321-2-dev (>= 1:3.21.14.dfsg-11+b6)
libgeant321-2-dev
  Reverse Depends: geant321 (>= 1:3.21.14.dfsg-11)
geant321
  Reverse Depends: cernlib (20061220+dfsg3-4.4)
libpdflib804-2-dev
  Reverse Depends: cernlib-montecarlo (>= 20061220+dfsg3-3.1)
  Reverse Depends: libherwig59-2-dev (= 20061220+dfsg3-3.1)
  Reverse Depends: libisajet758-3-dev (= 20061220+dfsg3-3.1)
libherwig59-2-dev
  Reverse Depends: cernlib-montecarlo (>= 20061220+dfsg3-3.1)
libisajet758-3-dev
  Reverse Depends: cernlib-montecarlo (>= 20061220+dfsg3-3.1)
libphtools2-dev
  Reverse Depends: cernlib-montecarlo (>= 20061220+dfsg3-3.1)
libsuperlu-dev
  Reverse Depends: libarmadillo-dev (>= 1:9.800.1+dfsg-1)
  Reverse Depends: libdune-istl-dev (2.6.0-2)
  Reverse Depends: libdune-pdelab-dev (2.6~20180302-1+rpi1+b1)
  Reverse Depends: libgetfem++-dev (5.2+dfsg1-7)
  Reverse Depends: libhypre-dev (2.15.1-5)
  Reverse Depends: libpetsc-complex3.10-dev (>= 3.10.3+dfsg1-5)
  Reverse Depends: libpetsc-complex3.11-dev (>= 3.11.4+dfsg1-3)
  Reverse Depends: libpetsc-real3.10-dev (>= 3.10.3+dfsg1-5)
  Reverse Depends: libpetsc-real3.11-dev (>= 3.11.4+dfsg1-3)
libarmadillo-dev
  Reverse Depends: libensmallen-dev (>= 2.10.3-1)
  Reverse Depends: libgdal-dev (2.4.0+dfsg-1+b2)
  Reverse Depends: libmlpack-dev (>= 3.2.1-1)
  Reverse Depends: pktools-dev (2.6.7.6+ds-1+b1)
libensmallen-dev
libgdal-dev
  Reverse Depends: grass-dev (7.6.0-1+b1)
  Reverse Depends: liblas-c-dev (>= 1.8.1-10)
  Reverse Depends: liblas-dev (>= 1.8.1-10)
  Reverse Depends: libmapnik-dev (3.0.22+ds-1)
  Reverse Depends: libpdal-dev (1.8.0+ds-1+b2)
  Reverse Depends: libqgis-dev (>= 2.18.28+dfsg-2+b1)
  Reverse Depends: libvtk6-dev (6.3.0+dfsg2-2+b6)
  Reverse Depends: libvtk7-dev (7.1.1+dfsg1-12+b2)
  Reverse Depends: pktools-dev (2.6.7.6+ds-1+b1)
grass-dev
  Reverse Depends: libqgis-dev (>= 2.18.28+dfsg-2+b1)
libqgis-dev
liblas-c-dev
  Reverse Depends: pktools-dev (2.6.7.6+ds-1+b1)
pktools-dev
liblas-dev
  Reverse Depends: liblas-c-dev (= 1.8.1-10)
libmapnik-dev
  Reverse Depends: mapnik-vector-tile (>= 1.6.1+dfsg-8)
mapnik-vector-tile
libpdal-dev
libvtk6-dev
  Reverse Depends: libvtk6-qt-dev (= 6.3.0+dfsg2-2+b6)
libvtk6-qt-dev
libvtk7-dev
  Reverse Depends: libpcl-dev (1.9.1+dfsg1-10)
  Reverse Depends: libvtk7-qt-dev (= 7.1.1+dfsg1-12+b2)
libpcl-dev
  Reverse Depends: libpcl-conversions-dev (0.2.1-6)
  Reverse Depends: ros-perception-dev (1.12)
libpcl-conversions-dev
  Reverse Depends: ros-perception-dev (1.12)
ros-perception-dev
  Reverse Depends: ros-desktop-full-dev (1.15)
ros-desktop-full-dev
libvtk7-qt-dev
  Reverse Depends: libpcl-dev (1.9.1+dfsg1-10+b1)
libmlpack-dev
libdune-istl-dev
  Reverse Depends: libdune-pdelab-dev (>= 2.6~20180302-2)
libdune-pdelab-dev
libgetfem++-dev
libpetsc-complex3.10-dev
  Reverse Depends: libpetsc-complex-dev (3.10.3+dfsg1-5)
  Reverse Depends: libpetsc-complex3.10-dbg (= 3.10.3+dfsg1-5)
  Reverse Depends: libslepc-complex3.10-dev (3.10.1+dfsg1-3)
libpetsc-complex-dev
libpetsc-complex3.10-dbg
libslepc-complex3.10-dev
libpetsc-complex3.11-dev
  Reverse Depends: libpetsc-complex-dev (3.11.4+dfsg1-3)
  Reverse Depends: libpetsc-complex3.11-dbg (= 3.11.4+dfsg1-3)
  Reverse Depends: libslepc-complex3.11-dev (3.11.2+dfsg1-1+b1)
libpetsc-complex3.11-dbg
libslepc-complex3.11-dev
mapdamage
odin
r-base-dev

@rharmonson
Copy link

rharmonson commented Jan 30, 2020

Experienced the same issue and symptom, googled, found this github issue, and installed libatlas-base-dev which corrected the problem.

I am using a default installation with only the addition of stress, pip3, stressberry, python3-numpy, and now libatlas-base-dev. Also, apt update/upgrade this evening, January 29, 2020.

Raspbian Buster Lite
Version: September 2019
Release date: 2019-09-26

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants