help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Julia package management on GuixSD


From: Efraim Flashner
Subject: Re: Julia package management on GuixSD
Date: Sun, 13 Feb 2022 15:19:48 +0200

On Wed, Feb 09, 2022 at 09:32:51PM +0000, Jacob Sims wrote:
> Hello,
> 
> I've recently become interested in the Julia programming language, but I keep 
> running into one major hurdle: Pkg.jl doesn't want to work with GuixSD. From 
> this email: https://www.mail-archive.com/help-guix@gnu.org/msg12594.html I 
> deduce that Pkg.jl can work on GuixSD, but there is some setup required. What 
> is this setup?

Currently Julia doesn't maintain a reference to p7zip, so currently to
use Julia you'll also have to have p7zip in your environment/profile.
Fixing this is obviously on our TODO list.

> For the sake of thoroughness, here is what happens when I run `using Pkg ; 
> Pkg.add("Plots")` (the main library I want to use that isn't in Guix yet):
> ```
> ERROR: could not download 
> https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/c81b6b0a8abee6e83922eca4c0c0585d86d4f5a3
> Stacktrace:
>   [1] pkgerror(msg::String)
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/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.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1035
>   [3] mktempdir(fn::Pkg.Types.var"#82#85"{Pkg.Types.Context, String, 
> Pkg.Types.RegistrySpec}, parent::String; prefix::String)
>     @ Base.Filesystem ./file.jl:729
>   [4] mktempdir (repeats 2 times)
>     @ ./file.jl:727 [inlined]
>   [5] clone_or_cp_registries(ctx::Pkg.Types.Context, 
> regs::Vector{Pkg.Types.RegistrySpec}, depot::String)
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1027
>   [6] clone_or_cp_registries
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1020
>  [inlined]
>   [7] clone_default_registries(ctx::Pkg.Types.Context; only_if_empty::Bool)
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:920
>   [8] clone_default_registries
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:908
>  [inlined]
>   [9] find_registered!(ctx::Pkg.Types.Context, names::Vector{String}, 
> uuids::Vector{Base.UUID})
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1291
>  [10] registry_resolve!(ctx::Pkg.Types.Context, 
> pkgs::Vector{Pkg.Types.PackageSpec})
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:814
>  [11] 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 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:191
>  [12] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, 
> kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), 
> Tuple{}}})
>     @ Pkg.API 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:80
>  [13] add(pkgs::Vector{Pkg.Types.PackageSpec})
>     @ Pkg.API 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:78
>  [14] #add#23
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:76
>  [inlined]
>  [15] add
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:76
>  [inlined]
>  [16] #add#22
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:75
>  [inlined]
>  [17] add(pkg::String)
>     @ Pkg.API 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:75
>  [18] top-level scope
>     @ REPL[1]:1
> 
> caused by: IOError: could not spawn setenv(`7z x /tmp/jl_tRKABw-download.gz 
> -so`,["PATH=:/gnu/store/3k56r512xd0n0pshla3q08x28sdpzj3g-profile/bin:/gnu/store/5v8a9d5xwwan7gqd3ac7jzrlmrn3ha96-glib-2.70.2-bin/bin:/home/jts/.local/bin:/run/setuid-programs:/home/jts/.config/guix/current/bin:/home/jts/.guix-profile/bin:/home/jts/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin",
>  "GST_PLUGIN_PATH=/home/jts/.guix-profile/lib/gstreamer-1.0", 
> "LD_LIBRARY_PATH=/gnu/store/p40pa1y5y2v1r55aara1xsvhw4mrvi94-julia-1.6.3/bin/../lib/julia:/gnu/store/p40pa1y5y2v1r55aara1xsvhw4mrvi94-julia-1.6.3/bin/../lib",
>  
> "DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-3xOq6hWGUQ,guid=448fca8116d1b50a674f591062041877",
>  
> "MANPATH=/run/current-system/profile/share/man:/home/jts/.guix-profile/share/man:/run/current-system/profile/share/man",
>  "PULSE_CONFIG=/gnu/store/xwm9v2r1mgh5r4c14jx4wfpkid7q1apq-daemon.conf", 
> "XDG_SESSION_DESKTOP=gnome", "XDG_SESSION_TYPE=x11", 
> "PULSE_CLIENTCONFIG=/gnu/store/bqq8l1s67zrkm7adq3jbmh871byay3f6-client.conf", 
> "GUIX_PYTHONPATH=/home/jts/.guix-profile/lib/python3.9/site-packages", 
> "SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt", "USER=jts", 
> "XDG_CONFIG_DIRS=/home/jts/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg",
>  
> "CPLUS_INCLUDE_PATH=/home/jts/.guix-profile/include/c++:/home/jts/.guix-profile/include",
>  
> "JULIA_DEPOT_PATH=:/gnu/store/3k56r512xd0n0pshla3q08x28sdpzj3g-profile/share/julia/:/gnu/store/3k56r512xd0n0pshla3q08x28sdpzj3g-profile/share/julia/",
>  "C_INCLUDE_PATH=/home/jts/.guix-profile/include", "DBUS_FATAL_WARNINGS=0", 
> "DICPATH=/home/jts/.guix-profile/share/hunspell:/run/current-system/profile/share/hunspell",
>  "CPATH=/home/jts/.guix-profile/include", "USERNAME=jts", "GDMSESSION=gnome", 
> "XDG_DATA_DIRS=/gnu/store/nz5ivvl1l2sg4ziddwx8bwidz0hbzg6j-shared-mime-info-1.15/share:/gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/share:/gnu/store/a0wb14k4f3cqyrxw0qxp5ppcr1p25qs4-gsettings-desktop-schemas-41.0/share:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/share:/gnu/store/fw9m4jdglnyw0hlrbgqka4d5if68636l-gnome-terminal-3.40.3/share:/gnu/store/nz5ivvl1l2sg4ziddwx8bwidz0hbzg6j-shared-mime-info-1.15/share:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/share:/gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/share:/gnu/store/bz85ysfqdzlid0i03mgyl98r5kcg8i6g-modem-manager-1.12.10/share:/gnu/store/5d8dn8kqf5q7c3pwsz41smqxzlsp7rf1-gcr-3.41.0/share:/gnu/store/a0wb14k4f3cqyrxw0qxp5ppcr1p25qs4-gsettings-desktop-schemas-41.0/share:/gnu/store/kdghhap5h3da1qcqnqm8r3pp1rafy6yw-libgweather-40.0/share:/gnu/store/lx6qqw3wdl8wa6kzd81i2war9al8rr2s-geocode-glib-3.26.2/share:/gnu/store/vr3r4nv028jvj0wa7jzbzxfv2qqagkgb-colord-1.4.5/share:/gnu/store/5040icjgx7v3ii59nph0q2qr4vxiniln-baobab-40.0/share:/gnu/store/6l3s5yqabwg9vwc3wfl97pxb637i50b3-gnome-settings-daemon-41.0/share:/gnu/store/nz5ivvl1l2sg4ziddwx8bwidz0hbzg6j-shared-mime-info-1.15/share:/gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/share:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/share:/gnu/store/a0wb14k4f3cqyrxw0qxp5ppcr1p25qs4-gsettings-desktop-schemas-41.0/share:/gnu/store/nwy6x3c98b2f61n1ln6zl5ql1gdchgcc-gnome-session-40.1/share:/gnu/store/nz5ivvl1l2sg4ziddwx8bwidz0hbzg6j-shared-mime-info-1.15/share:/gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/share:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/share:/gnu/store/a0wb14k4f3cqyrxw0qxp5ppcr1p25qs4-gsettings-desktop-schemas-41.0/share:/gnu/store/nwy6x3c98b2f61n1ln6zl5ql1gdchgcc-gnome-session-40.1/share:/run/current-system/profile/share:/home/jts/.guix-profile/share:/run/current-system/profile/share:/var/lib/flatpak/exports/share:/home/jts/.local/share/flatpak/exports/share",
>  "SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash", 
> "XAUTHORITY=/run/user/1000/gdm/Xauthority", "XDG_MENU_PREFIX=gnome-", 
> "GST_PLUGIN_SYSTEM_PATH=/run/current-system/profile/lib/gstreamer-1.0", 
> "NM_VPN_PLUGIN_DIR=/gnu/store/8fkgv70j6krjwcpyw5da5x4zpzspfxgj-network-manager-vpn-plugins/lib/NetworkManager/VPN",
>  
> "GIO_EXTRA_MODULES=/gnu/store/ld3d89lk6gpmway4w5j4x86ycbcv2ard-dconf-0.40.0/lib/gio/modules:/gnu/store/py2xwq72yry23xwj1ssm9rikj5nprkcj-glib-networking-2.70.0/lib/gio/modules:/run/current-system/profile/lib/gio/modules:/gnu/store/ld3d89lk6gpmway4w5j4x86ycbcv2ard-dconf-0.40.0/lib/gio/modules",
>  "SESSION_MANAGER=local/gx:@/tmp/.ICE-unix/1140,unix/gx:/tmp/.ICE-unix/1140", 
> "SSL_CERT_DIR=/run/current-system/profile/etc/ssl/certs", 
> "GDM_DBUS_DAEMON=/gnu/store/b89ycsnp1glpq1llq71f39mirybqnhgz-gdm-dbus-wrapper",
>  "GUIX_LOCPATH=/run/current-system/locale", "HOME=/home/jts", 
> "TERM=xterm-256color", 
> "GDM_CUSTOM_CONF=/gnu/store/y6xs7iiblw5vhlxfzbiwhbkjsk4kajhc-gdm-custom.conf",
>  "COLORTERM=truecolor", 
> "GDM_X_SESSION=/gnu/store/j653i1azcgyahi71pip4rz4ai0529ip2-xinitrc", 
> "GTK_DATA_PREFIX=/run/current-system/profile", "VTE_VERSION=6402", 
> "GTK_PATH=/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/lib/gtk-3.0:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/lib/gtk-3.0:/gnu/store/7n0dy7sqrx6s26gj1xxgl6jf3gfk4isb-libcanberra-0.30/lib/gtk-3.0:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/lib/gtk-3.0:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/lib/gtk-3.0:/gnu/store/7n0dy7sqrx6s26gj1xxgl6jf3gfk4isb-libcanberra-0.30/lib/gtk-3.0:/gnu/store/4f0gv2ywv1r7nqdrhzfsqq8a6gygap1h-gtk+-3.24.30/lib/gtk-3.0",
>  "LIBRARY_PATH=/home/jts/.guix-profile/lib", 
> "TZDIR=/gnu/store/jj5aj3zxf65b7zgismwgy2wad7kbkcqz-tzdata-2021e/share/zoneinfo",
>  "NODE_PATH=/home/jts/.guix-profile/lib/node_modules", 
> "GIT_EXEC_PATH=/home/jts/.guix-profile/libexec/git-core", 
> "GUILE_LOAD_PATH=/run/current-system/profile/share/guile/site/3.0", 
> "EMACSLOADPATH=/home/jts/.guix-profile/share/emacs/site-lisp", 
> "XDG_CURRENT_DESKTOP=GNOME", "LANG=fr_CA.utf8", "LOGNAME=jts", "SHLVL=1", 
> "XDG_RUNTIME_DIR=/run/user/1000", "SSH_AUTH_SOCK=/run/user/1000/keyring/ssh", 
> "DESKTOP_SESSION=gnome", "GDM_LANG=fr_CA.utf8", 
> "GUIX_GTK3_PATH=/run/current-system/profile/lib/gtk-3.0", 
> "GDK_PIXBUF_MODULE_FILE=/run/current-system/profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache",
>  
> "INFOPATH=/home/jts/.config/guix/current/share/info:/home/jts/.guix-profile/share/info:/run/current-system/profile/share/info:/home/jts/.guix-profile/share/info:/run/current-system/profile/share/info",
>  
> "GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/a6cfdd7a_c1b2_4ab9_abe4_28fa90a2e1a5",
>  "GNOME_TERMINAL_SERVICE=:1.194", "PWD=/home/jts", "XDG_SESSION_CLASS=user", 
> "DISPLAY=:1", "LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules", 
> "OPENBLAS_NUM_THREADS=8", "JULIA_LOAD_PATH=:", 
> "XCURSOR_PATH=/run/current-system/profile/share/icons:/home/jts/.icons:/home/jts/.guix-profile/share/icons:/run/current-system/profile/share/icons",
>  "BASH_LOADABLES_PATH=/run/current-system/profile/lib/bash", 
> "GDM_X_SERVER=/gnu/store/fksg55z68bdgass92i4x6b9fjl533k8a-X-wrapper", 
> "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt", "WINDOWPATH=8", 
> "OPENBLAS_MAIN_FREE=1", 
> "GUILE_LOAD_COMPILED_PATH=/run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0"]):
>  no such file or directory (ENOENT)
> Stacktrace:
>   [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Vector{Any})
>     @ Base ./process.jl:99
>   [2] #637
>     @ ./process.jl:112 [inlined]
>   [3] setup_stdios(f::Base.var"#637#638"{Cmd}, stdios::Vector{Any})
>     @ Base ./process.jl:196
>   [4] _spawn
>     @ ./process.jl:111 [inlined]
>   [5] open(cmds::Cmd, stdio::Base.DevNull; write::Bool, read::Bool)
>     @ Base ./process.jl:370
>   [6] open (repeats 2 times)
>     @ ./process.jl:361 [inlined]
>   [7] open(::Pkg.PlatformEngines.var"#24#26"{String}, ::Cmd; 
> kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), 
> Tuple{}}})
>     @ Base ./process.jl:391
>   [8] open
>     @ ./process.jl:391 [inlined]
>   [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.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/PlatformEngines.jl:511
>  [10] (::Pkg.Types.var"#82#85"{Pkg.Types.Context, String, 
> Pkg.Types.RegistrySpec})(tmp::String)
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1033
>  [11] mktempdir(fn::Pkg.Types.var"#82#85"{Pkg.Types.Context, String, 
> Pkg.Types.RegistrySpec}, parent::String; prefix::String)
>     @ Base.Filesystem ./file.jl:729
>  [12] mktempdir (repeats 2 times)
>     @ ./file.jl:727 [inlined]
>  [13] clone_or_cp_registries(ctx::Pkg.Types.Context, 
> regs::Vector{Pkg.Types.RegistrySpec}, depot::String)
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1027
>  [14] clone_or_cp_registries
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1020
>  [inlined]
>  [15] clone_default_registries(ctx::Pkg.Types.Context; only_if_empty::Bool)
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:920
>  [16] clone_default_registries
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:908
>  [inlined]
>  [17] find_registered!(ctx::Pkg.Types.Context, names::Vector{String}, 
> uuids::Vector{Base.UUID})
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:1291
>  [18] registry_resolve!(ctx::Pkg.Types.Context, 
> pkgs::Vector{Pkg.Types.PackageSpec})
>     @ Pkg.Types 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:814
>  [19] 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 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:191
>  [20] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, 
> kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), 
> Tuple{}}})
>     @ Pkg.API 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:80
>  [21] add(pkgs::Vector{Pkg.Types.PackageSpec})
>     @ Pkg.API 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:78
>  [22] #add#23
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:76
>  [inlined]
>  [23] add
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:76
>  [inlined]
>  [24] #add#22
>     @ 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:75
>  [inlined]
>  [25] add(pkg::String)
>     @ Pkg.API 
> /tmp/guix-build-julia-1.6.3.drv-0/julia-1.6.3/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:75
>  [26] top-level scope
>     @ REPL[1]:1
> ```
> 
> Thanks!
> 

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]