apx
apx copied to clipboard
Repository issues when installed on raspbian/rpi
What i'm using:
`.::///+:/-. --///+//-:`` man@pie
`+oooooooooooo: `+oooooooooooo: ------------
/oooo++//ooooo: ooooo+//+ooooo. OS: Raspbian GNU/Linux 11 (bullseye) armv7l
`+ooooooo:-:oo- +o+::/ooooooo: Host: Raspberry Pi 4 Model B Rev 1.4
`:oooooooo+`` `.oooooooo+- Kernel: 5.15.84-v7l+
`:++ooo/. :+ooo+/.` Uptime: 29 mins
...` `.----.` ``.. Packages: 1438 (dpkg)
.::::-``:::::::::.`-:::-` Shell: bash 5.1.4
-:::-` .:::::::-` `-:::- Theme: PiXflat [GTK3]
`::. `.--.` `` `.---.``.::` Icons: PiXflat [GTK3]
.::::::::` -::::::::` ` Terminal: /dev/pts/0
.::` .:::::::::- `::::::::::``::. CPU: BCM2711 (4) @ 1.800GHz
-:::` ::::::::::. ::::::::::.`:::- Memory: 262MiB / 3838MiB
:::: -::::::::. `-:::::::: ::::
-::- .-:::-.``....``.-::-. -::-
.. `` .::::::::. `..`..
-:::-` -::::::::::` .:::::`
:::::::` -::::::::::` :::::::.
.::::::: -::::::::. ::::::::
`-:::::` ..--.` ::::::.
`...` `...--..` `...`
.::::::::::
`.-::::-`
What i did:
- Installed go1.20 from website
- Installed docker usings
sudo apt install docker
- Installed distrobox using curl installer
- Set
distroboxpath: /home/$USER/.local/bin/distrobox
in/etc/apx/config.json
- Installed apx autocompletion for bash
What happened:
[man@pie /home/man]$ apx list --apk
[man@pie /home/man]$ apx list --apt
[man@pie /home/man]$ apx list --zypper
Generate containers. Apps can be installed (almost) flawlessly
[man@pie /home/man]$ apx list --aur
[man@pie /home/man]$ apx list --dnf
Both dont generate containers and give these errors:
[man@pie /home/man]$ sudo journalctl -b | tail
Mar 04 17:09:25 pie dockerd[991]: time="2023-03-04T17:09:25.329816031Z" level=info msg="Attempting next endpoint for pull after error: no matching manifest for linux/arm/v7 in the manifest list entries"
Mar 04 17:09:52 pie dockerd[991]: time="2023-03-04T17:09:52.498280428Z" level=info msg="Attempting next endpoint for pull after error: no matching manifest for linux/arm/v7 in the manifest list entries"
xbps gives and exec error
[man@pie /home/man]$ apx list --xbps
Container apx_managed_xbps is not running.
Starting container apx_managed_xbps
run this command to follow along:
docker logs -f apx_managed_xbps
Error: could not start entrypoint.
exec /usr/bin/entrypoint: exec format error
And nix complains about not finding nix in PATH
[man@pie /home/man]$ apx install --nix neovim
ERROR Error installing package(s):
Error: exec: "nix": executable file not found in $PATH
Other than that, if installation succeeds, there still seem to be an issue when letting apx export binaries.
The file /etc/default/locale
does seem to exist on my host, yet pam seems to be unable to find it.
[man@pie /home/man]$ apx export --bin nvim
ERROR Error exporting binary: Failed to execute printenv: exit status 1
[man@pie /home/man]$ sudo journalctl -b | tail
Mar 04 17:23:10 pie sudo[11829]: pam_env(sudo:session): Unable to open env file: /etc/default/locale: No such file or directory
I tried running sudo update-locale
a few times to no avail.
Would be great if something could be done about:
- the aur/dnf containers
- the exporting of binaries
Regarding exporting of binaries, follow the steps here https://github.com/Vanilla-OS/apx#instructions-for-using-apx-in-other-distributions
The nix binary is located at $HOME/.nix-profile/bin/nix
, this should be added automatically when initializing nix, granted you're using Bash.
The nix binary is located at
$HOME/.nix-profile/bin/nix
, this should be added automatically when initializing nix, granted you're using Bash.
From their, fetch I can confirm that they are indeed using Bash. Can you share the steps to manually add it?
The nix binary is located at
$HOME/.nix-profile/bin/nix
, this should be added automatically when initializing nix, granted you're using Bash.From their, fetch I can confirm that they are indeed using Bash. Can you share the steps to manually add it?
Put export PATH=$PATH:$HOME/.nix-profile/bin
at the end of your ~/.bashrc
, then reopen your terminal and try again.
Doing an export of $HOME/.nix-profile/bin does seem to be root cause of why nix didn't work
[man@pie /home/man]$ apx init --nix
responds succesfully But trying to install f.ex. neovim results in a installation screen that seems to go on forever
▄ Installing [neovim]... (11m6s)
After installing neovim from zypper and trying to let it run
[man@pie /home/man]$ apx install --zypper neovim
[man@pie /home/man]$ apx run nvim
OCI runtime exec failed: exec failed: unable to start container process: exec: "nvim": executable file not found in $PATH: unknown
[man@burpi /home/man]$ sudo journalctl -b | tail
Mar 07 23:31:46 burpi systemd[1]: run-docker-runtime\x2drunc-moby-3fa362e37ffbd6192b9f04603d3b2c835e07dc093367ba4c8328a67c39b1c292-runc.L1s2b3.mount: Succeeded.
Mar 07 23:31:46 burpi systemd[723]: run-docker-runtime\x2drunc-moby-3fa362e37ffbd6192b9f04603d3b2c835e07dc093367ba4c8328a67c39b1c292-runc.L1s2b3.mount: Succeeded.
Mar 07 23:31:46 burpi dockerd[613]: time="2023-03-07T23:31:46.632540981+01:00" level=error msg="stream copy error: reading from a closed fifo"
Mar 07 23:31:46 burpi dockerd[613]: time="2023-03-07T23:31:46.640708931+01:00" level=error msg="Error running exec 458318a235bfb50def76bff48f91eff63917d0f37e2c34e58753f80e9623aec0 in container: OCI runtime exec failed: exec failed: unable to start container process: exec: \"nvim\": executable file not found in $PATH: unknown"
Mar 07 23:31:56 burpi systemd[723]: run-docker-runtime\x2drunc-moby-c520d9375f41670f23bd815f826510301a2c5b527b35fe4f660259470af4ca95-runc.BpQu9K.mount: Succeeded.
Mar 07 23:31:56 burpi systemd[1]: run-docker-runtime\x2drunc-moby-c520d9375f41670f23bd815f826510301a2c5b527b35fe4f660259470af4ca95-runc.BpQu9K.mount: Succeeded.
But apx run --zypper nvim
does work
I also tried
sudo chown <username> ~/.local/share/icons -R
to solve exporting binaries but it didn't resolve the issue
Update:
apz install --zypper neovim
Installing neovin eventually came up with an error, but it did try building so maybe this is a nix specific issue
ERROR Error installing package(s): these 308 derivations will be built:
/nix/store/57hnhskflbzyn93hyiwh9dvwhiwr8d1m-zlib-1.2.13.drv
/nix/store/fmkcsl4k0v8hiywqn0r1pkhbap81wzh9-perl-5.36.0.drv
/nix/store/aq1r4vlc2jmin5q2l30aqsccfgjhpsmg-gnum4-1.4.19.drv
/nix/store/sh0gbkgkhkmassa1wdhbs68lf7ddm52g-bison-3.8.2.drv
/nix/store/6m535hw6lf9v71n3xpga76spcz0lg407-bash-5.2-p15.drv
/nix/store/w04l1v866hqv1rr59na8474nppb09s3q-xz-5.4.1.drv
/nix/store/jr254mdzw8c8pm6n6qbz6qazriv8l2ff-gettext-0.21.drv
/nix/store/60va3qrxl1bkk047xixxpmw3phqvb17r-binutils-2.40.drv
/nix/store/cb3sfcqy5ymjr4bnbp006b1p3bvwkb45-binutils-wrapper-2.40.drv
...
...
/nix/store/q7v7z4i9xs14j3c25rnb1nnmmzmfbr2q-vim-pack-dir.drv
/nix/store/spm391wq76jbh3sbrjfpdrk7bqnix14g-manifest.vim.drv
/nix/store/ci5qdim81r3hi4kpq4k8ad8zvb430z3d-neovim-0.8.3.drv
building '/nix/store/aq1r4vlc2jmin5q2l30aqsccfgjhpsmg-gnum4-1.4.19.drv'...
error: builder for '/nix/store/aq1r4vlc2jmin5q2l30aqsccfgjhpsmg-gnum4-1.4.19.drv' failed with exit code 126;
last 8 log lines:
> unpacking sources
> unpacking source archive /nix/store/mcayf992diwks293vs12iwx1ywgm4ijg-m4-1.4.19.tar.bz2
> source root is m4-1.4.19
> setting SOURCE_DATE_EPOCH to timestamp 1622228112 of file m4-1.4.19/ChangeLog
> patching sources
> configuring
> configure flags: --disable-dependency-tracking --prefix=/nix/store/06nfdxsqj65gc2vh4zdgf34wi41w6y5m-gnum4-1.4.19 --with-syscmd-shell=/nix/store/fgvc7r8pwp53frjzg1v6czi06j986hih-bootstrap-tools/bin/bash
> /nix/store/06rnilchqf9z2y941gqkimwlfzm46p3x-bootstrap-stage1-stdenv-linux/setup: ./configure: /bin/sh: bad interpreter: No such file or directory
For full logs, run 'nix log /nix/store/aq1r4vlc2jmin5q2l30aqsccfgjhpsmg-gnum4-1.4.19.drv'.
error: 1 dependencies of derivation '/nix/store/138sfzznqgvwhifmkklb0mcbdjv2p0ys-autoconf-2.71.drv' failed to build
error: 1 dependencies of derivation '/nix/store/fvg00n34d9v8z4scsyc7dlxsazgy1yns-autoconf-2.71.drv' failed to build
error: 1 dependencies of derivation '/nix/store/sh0gbkgkhkmassa1wdhbs68lf7ddm52g-bison-3.8.2.drv' failed to build
error: 1 dependencies of derivation '/nix/store/r2xvp67rk9aj8pcjsxsk079i1bz2qy47-gmp-with-cxx-6.2.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/a717y0szcnqslkl5ziklfvn5j1iimvz3-gmp-with-cxx-stage3-6.2.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/vwsg12k497gl45ahjzzhz0p7482v5mar-gmp-with-cxx-stage4-6.2.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/55jm5hz6ilw77z6xfj32vlbf4g40nn2a-autoreconf-hook.drv' failed to build
error: 1 dependencies of derivation '/nix/store/6m535hw6lf9v71n3xpga76spcz0lg407-bash-5.2-p15.drv' failed to build
error: 1 dependencies of derivation '/nix/store/7hkfwg7g77n5cxyigfq1q2kpgjs3zsxs-bash-5.2-p15.drv' failed to build
error: 1 dependencies of derivation '/nix/store/60va3qrxl1bkk047xixxpmw3phqvb17r-binutils-2.40.drv' failed to build
error: 1 dependencies of derivation '/nix/store/gq09q8apkmh9p1k94w3agmfp1gpg216p-binutils-2.40.drv' failed to build
error: 1 dependencies of derivation '/nix/store/7w4lnd8hdw4algj4dihxksfrkh7s9bw2-coreutils-9.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/hakj5zjrvcidbgk2kv1a9nycfql3h6dh-gcc-12.2.0.drv' failed to build
error: 1 dependencies of derivation '/nix/store/dmip408ppr9kyl0bdaw49nmyahxak8as-glibc-2.35-224.drv' failed to build
error: 1 dependencies of derivation '/nix/store/5yd2agis0nwmzhy4k5gimd0m0fkwb8zy-stdenv-linux.drv' failed to build
error: 1 dependencies of derivation '/nix/store/qk4sxsz1gihpiy4d342aa9cbr8mqh8kw-stdenv-linux.drv' failed to build
building '/nix/store/w04l1v866hqv1rr59na8474nppb09s3q-xz-5.4.1.drv'...
error: 1 dependencies of derivation '/nix/store/ci5qdim81r3hi4kpq4k8ad8zvb430z3d-neovim-0.8.3.drv' failed to build
Error: exit status 1
@kbdharun Does apx consider the CPU architecture when initializing the container?
@kbdharun Does apx consider the CPU architecture when initializing the container?
I am not sure about it, but it could be possible. We haven't tested apx in arm before.
I see in core/container.go:
return "ghcr.io/void-linux/void-linux:latest-full-x86_64", nil
so currently void linux only works on x86_64 as I understand
I see in core/container.go:
return "ghcr.io/void-linux/void-linux:latest-full-x86_64", nil
so currently void linux only works on x86_64 as I understand
I was informed recently that apx isn't compiled for arm. Currently, apx is available for x86_64 only. There might be arm builds in the distant future.