-
Notifications
You must be signed in to change notification settings - Fork 87
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
error loading ZLIB (wrong libz library being linked) #151
Comments
Is there a different version of libz somewhere else on your system? e.g. in Maybe just adding the right path to the |
thanks. |
You have multiple versions of Maybe the Frustrating.... I need to figure out a way to automate this, but setting the environment variable is dangerous because it can effect other child processes. |
You can use Miniconda via the Conda.jl package now. Just do:
and it should install and use |
I found this problem again after upgrading to the newest version. There is no problem if just running " LD_LIBRARY_PATH=~/.julia/v0.4/Conda/deps/usr/lib julia". It looks like even in the private Conda enviroment, the matplotlib still try to call /lib64/libz.so.1. Do you have any idea to fix that? |
I'm not sure. Maybe Conda could modify the |
Yes, you are right. Modifying the LD_LIBRARY_PATH can make PyPlot to work, but breaks the other packages such as RCall in my system. I also found that if running the matplotlib directly in python at the Conda environment, there is no problem. So I suspect PyCall or julia itself changed the environment and make matplotlib go to /lib64/ to load share libraries. |
Note that a version of this problem this also shows up with Conda's matplotlib, as described in #229. It's basically the same issue: there are multiple Probably in that case there is an appropriate libz version already in cc: @Luthaf |
Conda.jl only touch the environment to remove any reference to others conda installations. So it might be either Python or Julia which is doing something strange when loading shared libraries. |
@Luthaf, I don't think we are doing anything strange, it is just that by default the system loads I'm not sure what a good general solution would be, although hopefully the failure will go away once distros ship a newer libz. |
Maybe we should just follow what Python is doing ? (it look like is doing something different, there is no libz dependency for libpython.so) |
As was noted on the mailing list, you can avoid mucking with LD_LIBRARY_PATH via
An even better option might be for PyPlot to explicitly |
Note that the julia executable itself links to Another possibility (for future releases) is to build Julia against an included (recent) |
You're right; it looks like Julia links libz because of libgit2, mbedtls, and maybe curl. |
this circumvents PyPlot issue 151, see JuliaPy/PyPlot.jl#151
I encounter this problem as well since switching to 0.6.0. On 0.5.2 everything runs smoothly without intervention. |
I encounter this problem as well since switching to 0.6.0. |
I wish there were a better solution (other than re-compiling Julia or Matplotlib). |
Following steps solved my problem:
|
@zekeriyasari I followed your method on my linux machine. First of all the line: |
@BoundaryValueProblems, the non-dangerous solutions are either using LD_PRELOAD or recompiling Julia... |
On Linux, maybe it would be better to use the distro's own matplotlib, which presumably links to /usr/lib/libz.so, rather than Conda's? Alternatively maybe if we |
I'm in elementaryOS 0.4.1 and having julia 0.6.2 built from source. I tried with the following in bashrc
When I try to load PyPlot in julia, I get
I'm not able to use PyPlot at all and more weird is when I exit julia, it goes to a SEG_FAULT!! EDITThe problem appears to be related to anaconda's version of Qt and Pyplot. Easy solution is to use a different backend for GUI. This method works
For now, I'm putting first two lines in |
Still having this issue on Ubuntu 16.04, julia 0.6.2. Have tried many solutions and nothing worked. Finally, @SimonEnsemble's However, putting that on the ~/.bashrc didn't do the magic for Jupyter kernel. In case yop're having the same issue, adding the following env dictionary solved the issue: |
The solutions in this thread WERE working for me (including Jupyter kernel) but abruptly stopped for no apparent reason. I had to use the libz.so located in ${HOME}/anaconda3/lib. @urlicht, what is this env dictionary and where should it be added? |
@emcangi It's your Julia kernel file. |
@urlicht thanks, that does the trick! if anyone else does this and it breaks their julia kernel, don't forget the separating comma ;) |
This issue should now be fixed in Julia 0.6.3, thanks to JuliaLang/julia#26888, right? |
@stevengj Yes indeed, on my Debian stable system, using Anaconda and the official 0.6.3 Julia binary, PyPlot is working again. Thanks! |
It works on CentOS 7 64 bits with Anaconda and the official 0.6.3 Julia binary. |
Hooray! |
switching over to 0.6.3 seems to have fixed this for me too (Yay). |
No, because 0.6.3 is not required per se, it just avoids a particular conflict on a particular set of platforms. |
I'm actually still getting the same error after upgrading to 0.6.3... could something be wrong with my anaconda installation? |
What does |
This is on redhat. Julia reports that ENV["PYTHON"] doesn't exist, although the error message tells me that it is configured to use the python located in |
Actually, new information: It works fine if I start a julia prompt and then enter So this is an error with HDF5 instead, I didn't notice it was being called first in my script. It looks like the user base has already noticed it: JuliaIO/HDF5.jl#485 Disregard this request! |
The ZLIB version issue is back in the CentOS julia v1.6.3 nalimilan Copr build.
EDIT: It successfully re-precompiles
|
there have been many reported before, i know it must be annoying, but with i'm having problems with the latest version of anaconda (python 2.7.10, matplotlib 1.4.3) and julia 0.3.11. python works fine by itself, but within julia i get an error related to libz. ideas? thanks.
The text was updated successfully, but these errors were encountered: