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
use Preferences
#471
use Preferences
#471
Conversation
Local tests with Please approve the workflows for ci to run. |
Many thanks for this extensive PR. Unfortunately, I don't see how to integrate this change into our environment. The point is that we use a common Julia distribution for all users (~1000), which in turn is distributed via a (read-only) network drive for different operating systems. Users no longer have to worry about software or package updates - we manage this centrally on a daily basis. We proceed similarly with other systems, e.g. Python. We have been using this approach for years and it has worked very well. Obviously, this contradicts the Julia logic regarding the package management. My tests have shown that using #471 requires write access to the package repository. In addition, to change the run-time, you must first load or modify the corresponding GRPreferences. At least I haven't found out how to control this before Julia starts (e.g. via an environment variable). But maybe I did something wrong. I don't want to contradict the snoop compile logic in any way. I will reverse 2924a1d in any case. If all else fails, I will have to work with two Julia depots. If you have a better idea, please let me know. |
I see, having a centralized depot is not really uncommon. I myself use that across multiple julia versions to avoid using too much space.
I didn't take permissions into account. Let me think of something.
I think that this can still be achieved via an env variable
Worst case scenario. I'm sure there is another way to tackle this problem. I'll rework that now. |
I'm sorry for taking up so much of your time. But I didn't get deep enough into the snoop compile mechanism yet. |
From my tests this works now, can you confirm ? EDIT: Plots, and GR tests are ✔ with or without |
On macOS (with
I did not yet test on Linux, but I'm afraid there will be problems since |
You mean this Line 60 in 9ed2c4f
What controls usage of
I don't think so, since even if Line 29 in 3693598
|
The decision about GKSTerm is made at compile time in utils.h. I think, we also have to manage |
Yes, but where it is made in
I see, done. |
816adc3
to
1271e9a
Compare
So we still need to settle the |
@jheinen, I though #465 was reworked to implement the usage of
Preferences
, but it was obviously not.So this is a proposal to fix JuliaPlots/Plots.jl#4334 (comment), allowing to no use
GR_jll
artifacts at all, and use a system installation instead, using optionalPreferences.jl
configurations.2924a1d is not acceptable since explicitly discouraged by the following error message:
It is still unclear what are you scenario usage, so please do comment on what is needed / missing from the following cases.
case 1: default
case 2: force usage of
GR_jll
artifactscase 3: force usage of local gr installation somewhere on the system
case 4: no write access to
LocalPreferences.toml
,GRDIR
via env varSide note: why does this repo not have a proper CI workflow for PRs ?
Note that we don't need to add libraries extensions (
.so
,.dylib
,.dll
) sincedlopen
will handle that automatically.