On our compute cluster I have encountered the issue that a simple git-based package installation like Pkg.add(name="DFTK", rev="master")
fails with the following stacktrace:
ERROR: failed to clone from https://github.com/JuliaMolSim/DFTK.jl.git, error: GitError(Code:ERROR, Class:OS, failed to truncate pack file '/home/user/.julia/clones/4181248159055524987/objects/pack/pack_git2_QVvCRh': Keine Berechtigung)
Stacktrace:
[1] pkgerror(msg::String)
@ Pkg.Types /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/Types.jl:55
[2] clone(ctx::Pkg.Types.Context, url::String, source_path::String; header::Nothing, credentials::Nothing, kwargs::Base.Iterators.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:isbare,), Tuple{Bool}}})
@ Pkg.GitTools /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/GitTools.jl:119
[3] #ensure_clone#2
@ /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/GitTools.jl:72 [inlined]
[4] handle_repo_add!(ctx::Pkg.Types.Context, pkg::Pkg.Types.PackageSpec)
@ Pkg.Types /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/Types.jl:623
[5] handle_repos_add!(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.Types /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/Types.jl:690
[6] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Iterators.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:183
[7] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:79
[8] add(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:77
[9] #add#22
@ /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:74 [inlined]
[10] add
@ /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:74 [inlined]
[11] add(; name::String, uuid::Nothing, version::Nothing, url::Nothing, rev::String, path::Nothing, mode::Pkg.Types.PackageMode, subdir::Nothing, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:97
[12] top-level scope
@ REPL[2]:1
caused by: GitError(Code:ERROR, Class:OS, failed to truncate pack file '/home/user/.julia/clones/4181248159055524987/objects/pack/pack_git2_QVvCRh': Keine Berechtigung)
Stacktrace:
[1] macro expansion
@ /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/LibGit2/src/error.jl:110 [inlined]
[2] clone(repo_url::SubString{String}, repo_path::String, clone_opts::LibGit2.CloneOptions)
@ LibGit2 /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/LibGit2/src/repository.jl:459
[3] clone(repo_url::SubString{String}, repo_path::String; branch::String, isbare::Bool, remote_cb::Ptr{Nothing}, credentials::LibGit2.CachedCredentials, callbacks::Dict{Symbol, Tuple{Ptr{Nothing}, Any}})
@ LibGit2 /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/LibGit2/src/LibGit2.jl:583
[4] clone(ctx::Pkg.Types.Context, url::String, source_path::String; header::Nothing, credentials::Nothing, kwargs::Base.Iterators.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:isbare,), Tuple{Bool}}})
@ Pkg.GitTools /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/GitTools.jl:109
[5] #ensure_clone#2
@ /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/GitTools.jl:72 [inlined]
[6] handle_repo_add!(ctx::Pkg.Types.Context, pkg::Pkg.Types.PackageSpec)
@ Pkg.Types /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/Types.jl:623
[7] handle_repos_add!(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.Types /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/Types.jl:690
[8] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Iterators.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:183
[9] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:79
[10] add(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:77
[11] #add#22
@ /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:74 [inlined]
[12] add
@ /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:74 [inlined]
[13] add(; name::String, uuid::Nothing, version::Nothing, url::Nothing, rev::String, path::Nothing, mode::Pkg.Types.PackageMode, subdir::Nothing, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API /home/user/extra_software/julia_binary/julia-1.6.1/share/julia/stdlib/v1.6/Pkg/src/API.jl:97
[14] top-level scope
@ REPL[2]:1
Installing other packages (like just the most recent stable release of DFTK
, Pkg.add(name="DFTK")
) works flawlessly.
I suspect this has something to do with my home directory being on an NFS, since if I remap .julia
to a local filesystem everything works as I expect, also with the git-based installation. On the other hand I have used julia on other setups where my home was on an NFS and this has not been a problem, so my local sysadmins and me, we are not quite sure what could be the cause.
Happy for any suggestions or pointers.