You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we create a symlink tree inside the GAP.jl package directory, inside PKDIR/gaproot/v1.6/ and so on (depending on the Julia version).
This is problematic in shared Julia installation where the GAP.jl package directory might be read-only. In general, the Julia folks would like to move to a system where package directories (at least for release versions) are read only. And I think this makes a lot of sense, too.
Fixing this should essentially "just" require adjusting
in src/gap.jl to a different path. Ideally it should probably be using Scratch.jl.
(A secondary objective would be to also adjust build_JuliaInterface to build outside of the package directory; but this code should normally only matter for dev builds where the C sources were modified, so it's not important for now).
One concern lingers: the report motivating this issue was performed on Kaiserslautern computer servers, with a shared Oscar install, with a custom Julia "depot". I should verify that Scratch.jl works correctly in that setup, i.e., it returns a path in the user's depot (in particular: it must be writable).
If I understand the idea behind Scratch.jl right then one gets the path to the package's scratch space only at runtime, via a call in the __init__ function.
The current GAPROOT is used during precompilation. Is this idea compatible with Scratch.jl?
I am now wondering whether I should simply create a fresh GAPROOT each time GAP.jl starts, they don't take up much space and are quick to create... sigh.
Currently we create a symlink tree inside the GAP.jl package directory, inside
PKDIR/gaproot/v1.6/
and so on (depending on the Julia version).This is problematic in shared Julia installation where the GAP.jl package directory might be read-only. In general, the Julia folks would like to move to a system where package directories (at least for release versions) are read only. And I think this makes a lot of sense, too.
Fixing this should essentially "just" require adjusting
in
src/gap.jl
to a different path. Ideally it should probably be using Scratch.jl.(A secondary objective would be to also adjust
build_JuliaInterface
to build outside of the package directory; but this code should normally only matter for dev builds where the C sources were modified, so it's not important for now).One concern lingers: the report motivating this issue was performed on Kaiserslautern computer servers, with a shared Oscar install, with a custom Julia "depot". I should verify that
Scratch.jl
works correctly in that setup, i.e., it returns a path in the user's depot (in particular: it must be writable).CC @fieker @ThomasBreuer
The text was updated successfully, but these errors were encountered: