I just installed Julia for the first time. I’m using an Ubuntu 16.04 machine, and I used Elliot Saba’s PPA.
When I run Pkg.add(“…”) for any package, I see the following errors:
WARNING: Error during initialization of module LinAlg:
ErrorException("could not load library "liblapack.so.3"
liblapack.so.3.so: cannot open shared object file: No such file or directory")
WARNING: Error during initialization of module CHOLMOD:
ErrorException("could not load library "libcholmod"
/usr/lib/liblapack.so.3: undefined symbol: gotoblas")
I do have libcholomod and liblapack installed. I also had openblas installed before I installed julia.
What can I do to ensure everything works properly and the warnings disappear?
@Greg; what versions of openblas and liblapack do you have installed? You can find via dpkg -l, like this:
$ dpkg -l | grep openblas
ii libopenblas-base 0.2.10.1-trusty2 amd64 Optimized BLAS (linear algebra) library based on GotoBLAS2
ii libopenblas-dev 0.2.10.1-trusty2 amd64 Optimized BLAS (linear algebra) library based on GotoBLAS2
$ dpkg -l | grep lapack
ii liblapack-dev 3.5.0-2ubuntu1 amd64 Library of linear algebra routines 3 - static version
ii liblapack3 3.5.0-2ubuntu1 amd64 Library of linear algebra routines 3 - shared version
If your versions are significantly different, when was the last time you ran sudo apt update && sudo apt upgrade?
In the Linux section, it says “It is strongly recommended that the official generic linux binaries from the downloads page be used to install Julia. The following distribution-specific packages are community contributed.”
Have you tried using the generic linux binaries? This should be easy to try.
Thanks for your response! I have removed the PPA version, downloaded the official archive, and, for lack of any clear instructions, just stuffed the corresponding folders in my /usr/local (bin, share, etc, lib, include) with the corresponding contents from the archive.
The error has gone away. I have filed a bug report with the PPA maintainer.
You can also just make a symbolic link in e.g. /usr/bin/ to the binary that exists at /bin/julia in the compressed archive. That way you don’t have to move around so many files.