Closed glaroc closed 2 years ago
Hi @glaroc. Updating to the latest versions of Omniscape and Circuitscape should solve this for you. This was due to an issue in Circuitscape that has since been fixed as of 5.8.3.
@vlandau Thank you, I'll try that ! Out of curiosity, I'm struggling to install 0.5.3 because of the Pardiso.jl package. Is that a new requirement ?
That is a new requirement of the Circuitscape.jl package, since we added a new solver (but the solver only applies if you compile Julia with MKL anyway). Are you getting a specific error?
This is on a cluster, so I don't have complete control on the Julia installation.
julia> using Pardiso
ERROR: InitError: could not load library "libmkl_rt"
libmkl_rt.so: cannot open shared object file: No such file or directory
Hmm, looks like @ranjanan found similar issues when he was implementing the Pardiso solver. This issue might help: https://github.com/JuliaSparse/Pardiso.jl/issues/77
If you're not using the latest version of Julia, updating might help as well.
I tried deleting my .julia folder and reinstalling everyting and it didn't fix it. I can't really control the Julia version (1.6.1) since this is on a HPC cluster.
I'm guessing the OS is Linux in that case?
Yes, on Linux.
It may be worth opening a new issue in Pardiso.jl, as this is a problem with that package's install. In the mean time, I have reached out to Ranjan to see if he has any insight and will ask him to post here if he does.
Great, thank you so much! This might also have something to do with the environment variables being set differently on the cluster. I'll keep digging.
@glaroc once you reinstall Circuitscape, could you try the minimal reproducer in https://github.com/JuliaSparse/Pardiso.jl/issues/77#issue-939023263? Just so I know it's the same issue. I shall also update the bounds in Circuitscape to be more strict.
You can also try that reproducer after updating Circuitscape to v5.8.4 (https://github.com/JuliaRegistries/General/pull/46641#event-5453698427). You shouldn't get that error anymore.
@ranjanan With v5.8.4, I can't load Circuitscape still because of Pardiso failing to load.
Is it the same error as in https://github.com/JuliaSparse/Pardiso.jl/issues/77#issue-939023263?
Is the environment variable MKL_ROOT set?
Yes, it is set.
And what is it set to? the cluster's local MKL? If that's the case, then maybe try https://github.com/JuliaSparse/Pardiso.jl#mkl-pardiso? (unless you already have, in which case, did Pardiso end up pointing there?)
Ok, if I unload the imkl module provided by the cluster before installing Pardiso.jl, everything works !
I see! I'm glad to hear that worked. It's still unfortunate that your Circuitscape did not work out of the box with your local MKL. From interacting with your cluster, do you have a suggestion for how I can fix the default behavior?
I don't know what the issue is. It seems like Pardiso.jl is seeing the MKLROOT folder on build since it decides not to install MKL. However, when the Pardiso library is reloaded, it is not seeing the proper MKLROOT folder, as if it was searching for it within the local Julia install.
@glaroc would it be okay for me to close this issue?
@vlandau Yes, absolutely.
Hi, I'm running Omniscape on a bunch of files and for a very limited number of them, I get the error below. Is this a familiar error ? I looked at the resistance surface that leads to this error and I can't see anything abnormal. Other files created in the exact same way run ok. Any clues ?