Closed manuelbb-upb closed 4 years ago
Seems to work no without any problem using Julia 1.5 and version 0.5.3 of pyjulia.
My current workflow (without any modifications to LD_LIBRARY_PATH) utilizes the new options offered by python -m julia.sysimage
.
python -m julia.sysimage final_img.so --base-sysimage my_base_img.so
which certainly takes a while but throws no more errors.Thus I would consider this issue closed.
I am working on a package that has 'Plots.jl' as one of its dependencies. I test and use the package in a Singularity container based on Ubuntu 18.04. Because of its long startup time I want to create a custom sysimage to use with JuliaPy. I have managed to create a sysimage for my package by removing the plotting functionality and dependencies.
If I include Plots, I get an error. The error can be reproduced by simply starting
julia-py
and usingPkg.add(Plots)
andusing Plots
. This results inAbove I used a custom DEPOT_PATH, but this happens with the default settings and in a fresh environment too. The error does not occur using julia instead of julia-py. Funny enough the error is not thrown if I issue
using Plots
a second time.As I do not want to maintain separate versions of my package (with and without Plots) and the sysimage compilation is meant to be automated, my current workaround is two-fold:
1) I use the following script (
patch_openssl.jl
) to get the artifact path indicated by the error message.The error seems to happen because somehow the system's version of OpenSSL is picked over the version shipped with the julia package. 2) I then prepend the result to the environment variable LD_LIBRARY_PATH (outside of julia):
Simply changing
ENV["LD_LIBRARY_PATH"]
in the REPL and then trying to use Plots does not work.