Using Julia 0.7.0 on RHEL 7.5. Julia was installed from julia-epel-7 repo referenced in the documentation (https://copr.fedorainfracloud.org/coprs/nalimilan/julia/). Building any package fails with:
ERROR: LoadError: LoadError: Unable to open libLLVM!
llvm6-libs.x86_64-6.0.0-4.el7 package was installed from the julia repo. This rpm installs libLLVM to /usr/lib64/llvm6/lib/. For some reason the build process does not find the lib. I worked around the issue by creating a symlink in /usr/lib64:
ln -s /usr/lib64/llvm6/lib/libLLVM-6.0.0.so /usr/lib64/libLLVM.so
With this symlink in place, packages build successfully.
Julia versioninfo():
Julia Version 0.7.0
Commit a4cb80f3ed (2018-08-08 06:46 UTC)
Platform Info:
OS: Linux (x86_64-redhat-linux)
CPU: Intel(R) Xeon(R) CPU E7-8880 v3 @ 2.30GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.0 (ORCJIT, haswell)
build log:
ERROR: LoadError: LoadError: Unable to open libLLVM!
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] (::getfield(BinaryProvider, Symbol("#open_libllvm#114")))() at /bbkinghome/mleary/.julia/packages/BinaryProvider/1nGWd/src/PlatformNames.jl:650
[3] detect_cxx11_string_abi() at /bbkinghome/mleary/.julia/packages/BinaryProvider/1nGWd/src/PlatformNames.jl:653
[4] detect_compiler_abi() at /bbkinghome/mleary/.julia/packages/BinaryProvider/1nGWd/src/PlatformNames.jl:666
[5] top-level scope at none:0
[6] include at ./boot.jl:317 [inlined]
[7] include_relative(::Module, ::String) at ./loading.jl:1038
[8] include at ./sysimg.jl:29 [inlined]
[9] include(::String) at /bbkinghome/mleary/.julia/packages/BinaryProvider/1nGWd/src/BinaryProvider.jl:1
[10] top-level scope at none:0
[11] top-level scope at none:2
in expression starting at /bbkinghome/mleary/.julia/packages/BinaryProvider/1nGWd/src/PlatformNames.jl:683
in expression starting at /bbkinghome/mleary/.julia/packages/BinaryProvider/1nGWd/src/BinaryProvider.jl:12
ERROR: LoadError: Failed to precompile BinaryProvider [b99e7846-7c00-51b0-8f62-c81ae34c0232] to /bbkinghome/mleary/.julia/compiled/v0.7/BinaryProvider/ek6VZ.ji.
Stacktrace:
[1] include(::String) at ./client.jl:398
[2] top-level scope at none:0
in expression starting at /bbkinghome/mleary/.julia/packages/Rmath/Py9gH/deps/build.jl:1
julia-epel-7.repo
[julia-epel-7]
name=Copr repo for julia owned by nalimilan
baseurl=https://copr-be.cloud.fedoraproject.org/results/nalimilan/julia/epel-7-$basearch/
enabled=True
gpgcheck=True
gpgkey=https://copr-be.cloud.fedoraproject.org/results/nalimilan/julia/pubkey.gpg
skip_if_unavailable=True
AFAIK this is fixed with 1.0.1. Why don't you update?
@nalimilan Even on 1.0.1, I run into a similar problem (ERROR: LoadError: LoadError: Unable to open libLLVM!
) when attempting to build ZMQ and MBedTLS, as part of the IJulia build. Could you kindly point me to the fix?
I'm having the same issue as @egnha, though I'm on Ubuntu 18.
@egnha I can't reproduce on Fedora 28 nor on Centos 7. What OS and what exact version of the package are you using?
Cc: @cdluminate for Debian/Ubuntu.
@nalimilan Cannot reproduce on both amd64 and ppc64el. Tested with julia version Debian ⛬ julia/1.0.1-2
Maybe something wrong with the shared lib / symlink /usr/lib/x86_64-linux-gnu/julia/libLLVM.so
?
These files / symlinks are included in the official binary tarball.
~/b/julia-1.0.0 ❯❯❯ find | rg LLVM
./lib/julia/libLLVM-6.0.so
./lib/julia/libLLVM.so
./lib/julia/libLLVM-6.0.0.so
I'm having the same issue on macOS Mojave, 10.14 with an anaconda setup and Julia v1.0.1
I create a new environment, install julia via conda install -c conda-forge julia
In order to access Julia via jupyter notebooks I do the following:
using Pkg
Pkg.add("IJulia")
All goes fab,but then then opening jupyter notebook
and selecting Julia yields the following:
Blosc not installed properly, run Pkg.build("ZMQ"), restart Julia and try again
Hoping for a successful resolution of the above, I run:
using Pkg
Pkg.build("ZMQ")
Which slaps me back with the error that we are all experiencing here:
Error: Error building
ZMQ:
│ ERROR: LoadError: LoadError: Unable to open libLLVM!
Is there anything wrong with the process I'm following? It's the first time I'm trying to get Julia to work with Jupyter Notebook.
Julia info
Julia Version 1.0.1
Platform Info:
OS: macOS (x86_64-apple-darwin16.7.0)
CPU: Intel(R) Core(TM) i7-6920HQ CPU @ 2.90GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.0 (ORCJIT, skylake)
I'm having the same issue on macOS Mojave, 10.14 with an anaconda setup and Julia v1.0.1
I create a new environment, install julia via
conda install -c conda-forge julia
In order to access Julia via jupyter notebooks I do the following:
using Pkg Pkg.add("IJulia")
All goes fab,but then then opening
jupyter notebook
and selecting Julia yields the following:
Blosc not installed properly, run Pkg.build("ZMQ"), restart Julia and try again
Hoping for a successful resolution of the above, I run:
using Pkg Pkg.build("ZMQ")
Which slaps me back with the error that we are all experiencing here:
Error: Error building
ZMQ: │ ERROR: LoadError: LoadError: Unable to open libLLVM!
Is there anything wrong with the process I'm following? It's the first time I'm trying to get Julia to work with Jupyter Notebook.
Julia info
Julia Version 1.0.1 Platform Info: OS: macOS (x86_64-apple-darwin16.7.0) CPU: Intel(R) Core(TM) i7-6920HQ CPU @ 2.90GHz WORD_SIZE: 64 LIBM: libopenlibm LLVM: libLLVM-6.0.0 (ORCJIT, skylake)
I also have such problem!
@nazywamsiepawel Exactly the same problem for me !
@nazywamsiepawel I am having same issue, Mojave 10.14, installing Julia via anaconda and trying to use jupyter. However, I was able to to get Julia working with juypter notebooks by avoiding Anaconda altogether. Using homebrew to install Julia, then running
using IJulia
notebook()
worked for me. However I this is only the notebooks and I still want to be able to use JuypterLab
edit: fixed it by adding ENV["JUPYTER"]="jupyter"
I'm having the exact same Issue when I tried to use IJulia via Anaconda. But problem solved when I switched to JuliaPro.
same issue on ubuntu 18.04 when julia is installed via anaconda.
corrected with:
ln -s /usr/lib/llvm-6.0/lib/libLLVM-6.0.0.so /usr/lib/libLLVM.so
Same issue for me on Ubuntu 16.04, conda 4.5.11, Julia 1.0.1
same issue on ubuntu 18.04 when julia is installed via anaconda.
corrected with:
ln -s /usr/lib/llvm-6.0/lib/libLLVM-6.0.0.so /usr/lib/libLLVM.so
Yeah but I guess the solution differs in Mac. Can somebody show me where I can find libLLVM-6.0.0 in Mac system? I performed the same installation steps of the same version of Julia in a same Mac system with @nazywamsiepawel and I even do not know where to find that library.
Confirming the same issue on Ubuntu 18.10, Julia 1.0.2, conda 4.5.11.
Also resolved with linking:
ln -s /usr/lib/llvm-5.0/lib/libLLVM-5.0.0.so /usr/lib/libLLVM.so
Confirming the same issue on Ubuntu 18.10, Julia 1.0.3, conda 4.5.12.
Fixed by softlinking as above.
Same here, ln -s
fixed. Obviously the llvm's library path may slightly differ on different linux distros (and which package one uses to provide it) or other operatiing systems. For my Ubuntu 18.10 setup, it happened to be provided by a few packages including libjulia1
.
Similarly fixed it with tracking the file down and making the libLLVM available in the more generic library path:
$ dpkg -S libLLVM.so
llvm-6.0-dev: /usr/lib/llvm-6.0/lib/libLLVM.so
libjulia1: /usr/lib/x86_64-linux-gnu/julia/libLLVM.so
$ sudo ln -s /usr/lib/x86_64-linux-gnu/julia/libLLVM.so /usr/lib/libLLVM.so
$
The install requiring it, (Pkg.add("IJulia")
in my case) worked smoothly after.
Maybe this issue should be merge with (or vice versa) https://github.com/JuliaPackaging/BinaryProvider.jl/issues/130 ?
It also seems to be discussed here: https://github.com/conda-forge/julia-feedstock/issues/60
Since this is an issue with the conda-forge julia
package, the solution might be found in the current build script for that package, found here:
https://github.com/conda-forge/julia-feedstock/blob/master/recipe/build.sh
In particular, note that the package does not install the conda-forge llvm
package for Julia to use by default, and that the following flag is used in the make: USE_SYSTEM_LLVM=0
.
Same issue on OpenSUSE 15 with julia 1.0.3 from the science repo, here we need ln -s /usr/lib64/libLLVM.so.5 /usr/lib64/libLLVM.so
.
An alternative without root access is to link to a user accessible directory on LD_LIBRARY_PATH:
$ mkdir $HOME/lib64
$ ln -s /usr/lib64/libLLVM.so.5 $HOME/lib64/libLLVM.so
$ export LD_LIBRARY_PATH=$HOME/lib64/.$LD_LIBRARY_PATH
(I had some error trying this out for the inital version of this post)
Same issue on OpenSUSE 15 with julia 1.0.3 from the science repo, here we need
ln -s /usr/lib64/libLLVM.so.5 /usr/lib64/libLLVM.so
.
An alternative without root access is to link to a user accessible directory on LD_LIBRARY_PATH:$ mkdir $HOME/lib64 $ ln -s /usr/lib64/libLLVM.so.5 $HOME/lib64/libLLVM.so $ export LD_LIBRARY_PATH=$HOME/lib64/.$LD_LIBRARY_PATH
Update (thanks to our sysadmin): OpenSuse 15 has a package llvm-devel which creates the link.
So this might be an issue of package dependencies to be addressed in the distro.
Can you file an issue against the OpenSUSE repo (and post the link here)?
Same issue on OpenSUSE 15 with julia 1.0.3 from the science repo, here we need
ln -s /usr/lib64/libLLVM.so.5 /usr/lib64/libLLVM.so
.
An alternative without root access is to link to a user accessible directory on LD_LIBRARY_PATH:$ mkdir $HOME/lib64 $ ln -s /usr/lib64/libLLVM.so.5 $HOME/lib64/libLLVM.so $ export LD_LIBRARY_PATH=$HOME/lib64/.$LD_LIBRARY_PATH
Update (thanks to our sysadmin): OpenSuse 15 has a package llvm-devel which creates the link.
So this might be an issue of package dependencies to be addressed in the distro.
Update: Similar discussion is already running on https://bugzilla.opensuse.org/show_bug.cgi?id=1114692 .
I put in my 2cts in there and gave the link to the discussion here.
Thanks. Actually it looks like the problem is just that OpenSUSE should use USE_LLVM_SHLIB=1
instead of USE_LLVM_SHLIB=0
in the juliabuildopts file.
Thanks for the hint. Over at OpenSuse they tried it and it worked: https://bugzilla.opensuse.org/show_bug.cgi?id=1114692#c7
On Tumbleweed I was able to check this - it is there now.
Most helpful comment
I also have such problem!