Arch container broken

Coming from Nobara and Garuda (Arch) before that, I just installed Bazzite and am trying to learn as much as I can.

I have successfully installed Distrobox containers using BoxBuddy. But the Arch container I created (using the arch-ghcr.io/ublue-os/bazzite-arch:latest image) seems broken.

When I enter “paru” to update everything I get lots of applications downloading, but then it errors out at the end. And any future invokation of paru or pacman gives me the following error:

paru: error while loading shared libraries: libalpm.so.13: cannot open shared object file: No such file or directory

If I try “upgrade box” in BoxBuddy, I get the following error:

 Upgrading arch...
distrobox: Installing basic packages...
/usr/bin/pacman
:: Synchronizing package databases...
error: failed to synchronize all databases (unable to lock database)
Error: An error occurred

Usually a locked database implies that pacman is already running. But it’s not as far as I can tell.

Rebooting doesn’t help.

Any ideas?

I looked into my Arch container and I can confirm the following error:

$ paru            
paru: error while loading shared libraries: libalpm.so.13: cannot open shared object file: No such file or directory

I know that libalpm is the library that pacman uses to manage packages. Let’s see what pacman is linked against:

$ ldd $(which pacman) | grep alpm
	libalpm.so.14 => /usr/lib/libalpm.so.14 (0x00007f632bf5e000)

There is a library version difference between pacman and paru.

@chicagonyc When you run pacman directly in your container, does it work? For me it works without any problems. The issue seems to be that paru is not linked against the right library version.

The latest paru PKGBUILD links against the correct version of libalpm, but the GitHub build is failing so you don’t get the updated version.

pacman doesn’t work because it complains about a locked database. However I installed another Arch container without paru in it and pacman did work (but no AUR).

I see the GitHub build is no longer failing. And paru still fails with the libalpm error.

You need to download the latest image. Let me explain the steps. First you probably want to save the list of packages that you have in your current container. Run the following command on the host:

distrobox enter --name arch -- pacman -Qe > /tmp/arch_packages.txt

Next we are going to replace the distrobox with the newest version:

distrobox assemble create --replace --name arch --file /etc/distrobox/distrobox.ini

And after that you can enter the new Arch distrobox. Run the following command inside the distrobox to get a list of the packages that are missing:

pacman -Qe | diff /tmp/arch_packages.txt - | grep -- '<'

And then install those packages that you want to continue using.

I am encountering a similar issue while I am trying to run the install-opentabletdriver recipe, where it uses and arch distrobox

 ujust install-opentabletdriver
:: Resolving dependencies...
:: There are 2 providers available for opentabletdriver:
:: Repository AUR:
    1) opentabletdriver  2) opentabletdriver-git  
Enter a number (default=1): :: Calculating conflicts...
:: Calculating inner conflicts...
:: insufficient columns available for table display

Repo (54) dotnet-host-8.0.3.sdk103-1  
        dotnet-runtime-6.0-6.0.28.sdk128-1  
        hicolor-icon-theme-0.17-3  libpng-1.6.43-1  
        jbigkit-2.1-7  libjpeg-turbo-3.0.2-2  
        libtiff-4.6.0-2  shared-mime-info-2.4-1  
        gdk-pixbuf2-2.42.10-2  graphite-1:1.3.14-3  
        harfbuzz-8.4.0-1  freetype2-2.13.2-1  
        fontconfig-2:2.15.0-2  lzo-2.10-5  pixman-0.43.4-1
        cairo-1.18.0-2  fribidi-1.0.13-2  
        libdatrie-0.2.13-4  libthai-0.1.29-3  
        libxft-2.3.8-1  pango-1:1.52.1-1  
        librsvg-2:2.58.0-1  
        gtk-update-icon-cache-1:4.14.1-1  
        adwaita-cursors-46.0-1  adwaita-icon-theme-46.0-1
        adobe-source-code-pro-fonts-2.042u+1.062i+1.026vf-1
        cantarell-fonts-1:0.303.1-1  dconf-0.40.0-2  
        gsettings-desktop-schemas-46.0-1  libevdev-1.13.1-1
        libei-1.2.1-1  libxi-1.8.1-1  
        xkeyboard-config-2.41-1  libxkbcommon-1.7.0-1  
        libxtst-1.2.4-1  at-spi2-core-2.52.0-1  
        desktop-file-utils-0.27-1  iso-codes-4.16.0-1  
        libcloudproviders-0.3.6-1  lcms2-2.16-1  
        libcolord-1.4.7-2  libcups-1:2.4.7-2  
        libepoxy-1.5.10-2  libxcomposite-0.4.6-1  
        libxinerama-1.1.5-1  libxrandr-1.5.4-1  
        json-glib-1.8.0-1  duktape-2.7.0-6  
        libproxy-0.5.4-1  glib-networking-1:2.80.0-1  
        libsoup3-3.4.4-1  libstemmer-2.2.0-2  
        tracker3-3.7.1-1  gtk3-1:3.24.41-1
Repo Make (6) dotnet-runtime-8.0.3.sdk103-1  
        netstandard-targeting-pack-8.0.3.sdk103-1  
        dotnet-targeting-pack-8.0.3.sdk103-1  
        dotnet-sdk-8.0.3.sdk103-1  oniguruma-6.9.9-1  
        jq-1.7.1-1
Aur (1) opentabletdriver-0.6.4.0-4

:: Proceed to review? [Y/n]: 

:: Downloading PKGBUILDs...
 PKGBUILDs up to date
:: Pacman is currently in use, please wait...

@pawann Are you running ujust install-opentabledriver on the host or inside a distrobox? Where is the install-opentabledriver recipie defined?

I am running on the host, I just discovered it by bash auto-completion and later learnt that it exists by verifying from the manpage

I can’t find this recipie on Bluefin. Maybe it only exists in Bazzite. Can you confirm that

grep install-opentabledriver /usr/share/ublue-os/just/*

finds something?

Nope, can’t find it either, strange enough it is contained in ujust, you can check it out by using the command below :thinking:
ujust --list | grep opentabletdriver

let me know if you found the same on bluefin

No results on Bluefin

Thanks! I did this but 1) reflector times out with every mirror, and 2) systemd appears not available.

sudo timedatectl set-timezone America/Chicago

System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down

Strange, @j0rge (sorry for tagging abruptly), just curious on how these recipes are created in the first place and are they available on a git repo or something? if yes then please drop a link so that I can learn more.

@chicagonyc: To add systemd see the details in the quickstart section. I don’t know what reflector is.

Other toolboxes here: