Subject: bug#48238: Julia 'Pkg.add' is broken

From: zimoun <[email-masked]>
Date: Tue, 21 Sep 2021 12:21:54 +0200

Hi,

Using Guix fb32a38.

On Wed, 05 May 2021 at 15:22, zimoun <[email-masked]> wrote:

> Packaging Julia stuff, I note something as a bug, I guess.  Julia seems
> to keep references to the build directory in the output.

The consequence is that Julia is somehow broken.

--8<---------------cut here---------------start------------->8---
$ rm -fr ~/.julia
$ guix environment --pure --ad-hoc julia \
       -- julia -e 'using Pkg; Pkg.add("GZip"); using GZip'
WARNING: failed to select UTF-8 encoding, using ASCII
  Installing known registries into `~/.julia`
ERROR: could not download https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/18e4ba1e8fb9c86ed483b99c8260fcac80578dd9
Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types /tmp/guix-build-julia-1.6.2.drv-0/julia-1.6.2/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:55
  [2] (::Pkg.Types.var"#82#85"{Pkg.Types.Context, String, Pkg.Types.RegistrySpec})(tmp::String)
    @ Pkg.Types /tmp/guix-build-julia-1.6.2.drv-0/julia-1.6.2/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1035

[...]

caused by: IOError: could not spawn setenv(`7z x /tmp/jl_bcay5W-download.gz -so`,["PATH=:/gnu/store/b3gxgz9bpj3wyzcr423sib7mhkrlvzfs-profile/bin", "PWD=/home/simon/src/my-conf", "DISPLAY=:0", "LD_LIBRARY_PATH=/gnu/store/wdsw2l1wyxlbgn0bpm0wgbp8cs95xa3d-julia-1.6.2/bin/../lib/julia:/gnu/store/wdsw2l1wyxlbgn0bpm0wgbp8cs95xa3d-julia-1.6.2/bin/../lib", "XAUTHORITY=/run/user/1001/gdm/Xauthority", "GUIX_ENVIRONMENT=/gnu/store/b3gxgz9bpj3wyzcr423sib7mhkrlvzfs-profile", "LOGNAME=simon", "SHLVL=0", "JULIA_LOAD_PATH=:", "PAGER=cat", "USER=simon", "HOME=/home/simon", "TERM=ansi", "JULIA_DEPOT_PATH=:/gnu/store/b3gxgz9bpj3wyzcr423sib7mhkrlvzfs-profile/share/julia/:/gnu/store/b3gxgz9bpj3wyzcr423sib7mhkrlvzfs-profile/share/julia/", "OPENBLAS_MAIN_FREE=1"]): no such file or directory (ENOENT)
Stacktrace:

[...]

  [9] download_verify_unpack(url::String, hash::Nothing, dest::String; tarball_path::Nothing, ignore_existence::Bool, force::Bool, verbose::Bool, quiet_download::Bool, io::Base.TTY)
    @ Pkg.PlatformEngines /tmp/guix-build-julia-1.6.2.drv-0/julia-1.6.2/usr/share/julia/stdlib/v1.6/Pkg/src/PlatformEngines.jl:511

[...]

 [25] add(pkg::String)
    @ Pkg.API /tmp/guix-build-julia-1.6.2.drv-0/julia-1.6.2/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:75
 [26] top-level scope
    @ none:1
--8<---------------cut here---------------end--------------->8---

All the best,
simon