[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Julia package management on GuixSD
From: |
Jacob Sims |
Subject: |
Julia package management on GuixSD |
Date: |
Wed, 09 Feb 2022 21:32:51 +0000 |
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?
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!
- Julia package management on GuixSD,
Jacob Sims <=