getting error while loading shared libraries: liblapack.so.3gf: cannot open shared object file: No such file or directory

Asked by Bruce McKinley

Upon trying to run octave under Ubuntu 16.04, I get this error:
/usr/lib/x86_64-linux-gnu/octave/4.0.2/exec/x86_64-pc-linux-gnu/octave-gui: error while loading shared libraries: liblapack.so.3gf: cannot open shared object file: No such file or directory

I've searched the internet and tried to install the lapack library according to suggestions, but none of them work

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu octave Edit question
Assignee:
No assignee Edit question
Solved by:
Bruce McKinley
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

What is the output of:

sudo updatedb; locate liblapack*

Thanks

Revision history for this message
Bruce McKinley (blmckinley) said :
#2

Neither one of them produce any output

Revision history for this message
Mike Miller (mtmiller) said :
#3

It would also help if you described how you installed Octave 4.0.2. Ubuntu 16.04 comes with Octave 4.0.0. Have you installed from source, built your own package, installed from a PPA, or installed from some other source?

What is the output of `dpkg -l '*octave*'`?

Revision history for this message
Manfred Hampl (m-hampl) said :
#4

For diagnostic purposes please provide the output of the commands

uname -a
lsb_release -crid
apt-cache policy octave
locate liblapack
ldd /usr/lib/x86_64-linux-gnu/octave/4.0.2/exec/x86_64-pc-linux-gnu/octave-gui

Revision history for this message
Bruce McKinley (blmckinley) said :
#5

Hi Mike:
dpkg -l '*octave*' returns

||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii liboctave-dev 4.0.2-1ubunt amd64 Development files for the GNU Oct
rc liboctave2:amd 3.8.1-1ubunt amd64 Shared libraries of the GNU Octav
ii liboctave3:amd 4.0.2-1ubunt amd64 Shared libraries of the GNU Octav
un libsbml5-octav <none> <none> (no description available)
ii octave 4.0.2-1ubunt amd64 GNU Octave language for numerical
un octave-audio <none> <none> (no description available)
un octave-biosig <none> <none> (no description available)
ii octave-common 4.0.2-1ubunt all architecture-independent files fo
un octave-communi <none> <none> (no description available)
un octave-control <none> <none> (no description available)
un octave-doc <none> <none> (no description available)
un octave-econome <none> <none> (no description available)
un octave-gdf <none> <none> (no description available)
un octave-general <none> <none> (no description available)
un octave-geometr <none> <none> (no description available)
un octave-gmt <none> <none> (no description available)
un octave-gsl <none> <none> (no description available)
un octave-htmldoc <none> <none> (no description available)
un octave-image <none> <none> (no description available)
ii octave-info 4.0.2-1ubunt all GNU Info documentation on the GNU
un octave-io <none> <none> (no description available)
un octave-java <none> <none> (no description available)
un octave-lhapdf <none> <none> (no description available)
un octave-linear- <none> <none> (no description available)
un octave-ltfat <none> <none> (no description available)
un octave-miscell <none> <none> (no description available)
un octave-mpi <none> <none> (no description available)
un octave-msh <none> <none> (no description available)
un octave-nan <none> <none> (no description available)
un octave-nlopt <none> <none> (no description available)
un octave-nurbs <none> <none> (no description available)
un octave-ocs <none> <none> (no description available)
un octave-octcdf <none> <none> (no description available)
un octave-odepkg <none> <none> (no description available)
un octave-optim <none> <none> (no description available)
un octave-optimin <none> <none> (no description available)
un octave-paralle <none> <none> (no description available)
un octave-pfstool <none> <none> (no description available)
un octave-plplot <none> <none> (no description available)
un octave-psychto <none> <none> (no description available)
un octave-quatern <none> <none> (no description available)
un octave-secs2d <none> <none> (no description available)
un octave-signal <none> <none> (no description available)
un octave-sockets <none> <none> (no description available)
un octave-strings <none> <none> (no description available)
un octave-struct <none> <none> (no description available)
un octave-sundial <none> <none> (no description available)
un octave-symboli <none> <none> (no description available)
un octave-tsa <none> <none> (no description available)
un octave-vlfeat <none> <none> (no description available)
un octave3.0-info <none> <none> (no description available)
un octave3.2 <none> <none> (no description available)
un octave3.2-info <none> <none> (no description available)

Revision history for this message
Bruce McKinley (blmckinley) said :
#6

Hi Manfred:

$ uname -a
Linux HGNuc3 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -crid
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial

$ apt-cache policy octave
octave:
  Installed: 4.0.2-1ubuntu5~octave~precise2
  Candidate: 4.0.2-1ubuntu5~octave~precise2
  Version table:
 *** 4.0.2-1ubuntu5~octave~precise2 100
        100 /var/lib/dpkg/status
     4.0.0-3ubuntu9.1 500
        500 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
     4.0.0-3ubuntu9 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

$ locate liblapack
/etc/alternatives/liblapack.a
/etc/alternatives/liblapack.so
/etc/alternatives/liblapack.so.3
/usr/lib/liblapack.a
/usr/lib/liblapack.so
/usr/lib/liblapack.so.3
/usr/lib/liblapack_atlas.so.3
/usr/lib/atlas-base/liblapack_atlas.so.3
/usr/lib/atlas-base/liblapack_atlas.so.3.0
/usr/lib/atlas-base/atlas/liblapack.so.3
/usr/lib/atlas-base/atlas/liblapack.so.3.0
/usr/lib/lapack/liblapack.a
/usr/lib/lapack/liblapack.so
/usr/lib/lapack/liblapack.so.3
/usr/lib/lapack/liblapack.so.3.6.0
/usr/share/doc/liblapack-dev
/usr/share/doc/liblapack3
/usr/share/doc/liblapack3gf
/usr/share/doc/liblapack-dev/changelog.Debian.gz
/usr/share/doc/liblapack-dev/copyright
/usr/share/doc/liblapack3/README.gz
/usr/share/doc/liblapack3/changelog.Debian.gz
/usr/share/doc/liblapack3/copyright
/usr/share/doc/liblapack3/testing_results.txt.gz
/usr/share/doc/liblapack3gf/changelog.Debian.gz
/usr/share/doc/liblapack3gf/copyright
/usr/share/lintian/overrides/liblapack3gf
/var/lib/dpkg/alternatives/liblapack.so
/var/lib/dpkg/alternatives/liblapack.so.3
/var/lib/dpkg/info/liblapack-dev.list
/var/lib/dpkg/info/liblapack-dev.md5sums
/var/lib/dpkg/info/liblapack-dev.postinst
/var/lib/dpkg/info/liblapack-dev.prerm
/var/lib/dpkg/info/liblapack3.list
/var/lib/dpkg/info/liblapack3.md5sums
/var/lib/dpkg/info/liblapack3.postinst
/var/lib/dpkg/info/liblapack3.prerm
/var/lib/dpkg/info/liblapack3.shlibs
/var/lib/dpkg/info/liblapack3gf.list
/var/lib/dpkg/info/liblapack3gf.md5sums
/var/lib/dpkg/info/liblapack3gf.postinst
/var/lib/dpkg/info/liblapack3gf.prerm

$ ldd /usr/lib/x86_64-linux-gnu/octave/4.0.2/exec/x86_64-pc-linux-gnu/octave-gui
 linux-vdso.so.1 => (0x00007ffd13ce2000)
 liboctgui.so.1 => /usr/lib/x86_64-linux-gnu/octave/4.0.2/liboctgui.so.1 (0x00007fafa723a000)
 liboctinterp.so.3 => /usr/lib/x86_64-linux-gnu/liboctinterp.so.3 (0x00007fafa615b000)
 libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fafa5dd8000)
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fafa5a0f000)
 liboctave.so.3 => /usr/lib/x86_64-linux-gnu/liboctave.so.3 (0x00007fafa48ea000)
 libQtNetwork.so.4 => /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4 (0x00007fafa4594000)
 libQtOpenGL.so.4 => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4 (0x00007fafa4292000)
 libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007fafa359e000)
 libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007fafa30aa000)
 libqscintilla2.so.8 => /usr/lib/libqscintilla2.so.8 (0x00007fafa2c22000)
 libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007fafa29b1000)
 libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007fafa2741000)
 libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fafa253e000)
 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fafa2235000)
 libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fafa2017000)
 libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fafa1e01000)
 libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fafa1b57000)
 libhdf5.so.6 => /usr/lib/libhdf5.so.6 (0x00007fafa15bb000)
 libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fafa13a1000)
 libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fafa115e000)
 libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fafa0e23000)
 libgl2ps.so.0 => /usr/lib/libgl2ps.so.0 (0x00007fafa0c10000)
 liblapack.so.3gf => not found
 libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fafa09ed000)
 /lib64/ld-linux-x86-64.so.2 (0x000055ddbb68e000)
 libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007fafa0780000)
 libcholmod.so.1.7.1 => /usr/lib/libcholmod.so.1.7.1 (0x00007fafa049a000)
 libumfpack.so.5.4.0 => /usr/lib/libumfpack.so.5.4.0 (0x00007fafa01ea000)
 libcxsparse.so.2.2.3 => /usr/lib/libcxsparse.so.2.2.3 (0x00007faf9ffb8000)
 libqrupdate.so.1 => /usr/lib/x86_64-linux-gnu/libqrupdate.so.1 (0x00007faf9fd9e000)
 libfftw3_threads.so.3 => /usr/lib/x86_64-linux-gnu/libfftw3_threads.so.3 (0x00007faf9fb97000)
 libfftw3.so.3 => /usr/lib/x86_64-linux-gnu/libfftw3.so.3 (0x00007faf9f799000)
 libfftw3f_threads.so.3 => /usr/lib/x86_64-linux-gnu/libfftw3f_threads.so.3 (0x00007faf9f590000)
 libfftw3f.so.3 => /usr/lib/x86_64-linux-gnu/libfftw3f.so.3 (0x00007faf9f185000)
 liblapack.so.3gf => not found
 libblas.so.3gf => not found
 libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007faf9ef3e000)
 libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007faf9ecce000)
 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faf9eac9000)
 libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007faf9e79e000)
 libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007faf9e593000)
 libaudio.so.2 => /usr/lib/x86_64-linux-gnu/libaudio.so.2 (0x00007faf9e37a000)
 libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007faf9e069000)
 libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007faf9de43000)
 libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007faf9dbf0000)
 libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007faf9d9e8000)
 libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007faf9d7cd000)
 libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007faf9d5bd000)
 libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007faf9d3ab000)
 librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007faf9d1a2000)
 libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007faf9cf79000)
 libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007faf9cd75000)
 libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007faf9cb72000)
 libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007faf9c96b000)
 libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007faf9c768000)
 libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007faf9c539000)
 libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007faf9c336000)
 libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007faf9c130000)
 libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007faf9bf2d000)
 libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007faf9bd14000)
 libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007faf9bb0f000)
 libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007faf9b8ec000)
 libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007faf9b6e6000)
 libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007faf9b4d7000)
 libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007faf9b2a3000)
 librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007faf9b087000)
 libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007faf9ae50000)
 libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007faf9ab20000)
 libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007faf9a8d6000)
 liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007faf9a6c6000)
 libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007faf9a475000)
 libblas.so.3gf => not found
 liblapack.so.3gf => not found
 libamd.so.2.2.0 => /usr/lib/libamd.so.2.2.0 (0x00007faf9a26a000)
 libcolamd.so.2.7.1 => /usr/lib/libcolamd.so.2.7.1 (0x00007faf9a063000)
 libblas.so.3gf => not found
 libblas.so.3 => /usr/lib/libblas.so.3 (0x00007faf99e24000)
 liblapack.so.3 => /usr/lib/liblapack.so.3 (0x00007faf99640000)
 libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007faf99416000)
 libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007faf991d7000)
 libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007faf98f6d000)
 libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007faf98d69000)
 libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007faf98b61000)
 libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007faf9895b000)
 libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007faf98755000)
 libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007faf98521000)
 libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007faf982a1000)
 libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007faf9803d000)
 libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007faf97e29000)
 libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007faf97b57000)
 libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007faf97928000)
 libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007faf97723000)
 libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007faf97518000)
 libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007faf972fd000)
 libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007faf970e1000)
 libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007faf96ea0000)
 libatlas.so.3 => /usr/lib/libatlas.so.3 (0x00007faf96902000)
 libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007faf966fd000)
 libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007faf964f4000)
 libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007faf96269000)
 libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007faf95fc7000)
 libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007faf95d94000)
 libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007faf95b7d000)
 libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007faf95954000)
 libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007faf95744000)
 libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007faf954f9000)
 libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007faf95224000)
 libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007faf94feb000)

Revision history for this message
Manfred Hampl (m-hampl) said :
#7

You seem to run a version for precise, that needs certain libraries that only exist on precise.

What is the output of

dpkg -l | grep blas
dpkg -l | grep lapack

Revision history for this message
Bruce McKinley (blmckinley) said :
#8

Hi Manfred:

$ dpkg -l | grep blas
ii libblas-common 3.6.0-2ubuntu2 amd64 Dependency package for all BLAS implementations
ii libblas-dev 3.6.0-2ubuntu2 amd64 Basic Linear Algebra Subroutines 3, static library
ii libblas3 3.6.0-2ubuntu2 amd64 Basic Linear Algebra Reference implementations, shared library
ii libblas3gf 1.2.20110419-7 all Transitional package for libblas

$ dpkg -l | grep lapack
ii liblapack-dev 3.6.0-2ubuntu2 amd64 Library of linear algebra routines 3 - static version
ii liblapack3 3.6.0-2ubuntu2 amd64 Library of linear algebra routines 3 - shared version
ii liblapack3gf 3.5.0-2ubuntu1 all Transitional package for liblapack3

Revision history for this message
Mike Miller (mtmiller) said :
#9

It looks like this system used to be on Ubuntu 12.04 LTS and was upgraded to 16.04 LTS. When it was 12.04, the Octave PPA was added to the system and Octave 4.0.2 was installed from the PPA archive (ppa:octave/stable, found at https://launchpad.net/~octave/+archive/ubuntu/stable).

When upgrading from one LTS release to the next, PPAs are typically disabled, but any packages from the PPA are left installed. Since the version of Octave you got from the 12.04 PPA is still newer than the version in 16.04, you still have the 12.04 backported packages installed.

One solution would be to re-enable the PPA and run an upgrade, this should install Octave from the 16.04 release slot of the same PPA. http://askubuntu.com/a/111648/70254

Another solution would be to downgrade, or uninstall and reinstall all Octave packages to the versions in the 16.04 archive (4.0.0-3ubuntu9.1). This answer may help: http://askubuntu.com/a/310/70254

Revision history for this message
Bruce McKinley (blmckinley) said :
#10

Thanks, Mike. I attempted to do the last solution (uninstall/reinstall octave) by
$ sudo add-apt-repository --remove ppa:octave/stable
$ sudo apt-get purge octave

Then I tried
$ sudo apt-get install octave
which resulted in these error messages:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 octave : Depends: liboctave3 (= 4.0.0-3ubuntu9.1) but 4.0.2-1ubuntu5~octave~precise2 is to be installed
          Recommends: gnuplot-x11 or
                      gnuplot-qt but it is not going to be installed
          Recommends: pstoedit but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

So I did:
$ sudo apt-get install gnuplot-x11
$ sudo apt-get install pstoedit

But I am still getting this error:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 octave : Depends: liboctave3 (= 4.0.0-3ubuntu9.1) but 4.0.2-1ubuntu5~octave~precise2 is to be installed
E: Unable to correct problems, you have held broken packages.

Can you help?

Revision history for this message
Bruce McKinley (blmckinley) said :
#11

Hi Mike,
Never mind. I was able to remove liboctave3, then install octave.
Thanks for your help on this.
Bruce