You are not logged in.
Hello !
I updated my archlinux system on Christmas Day and had the superb gift of seeing my system totally corrupted !
All my package files were marked as orphaned and many of them were empty.
Now I've reinstalled all the packages and my system seems to be working as well as before, except for yay which can no longer build packages.
It seems to compile correctly, but no pkg.tar.zst files are created.
Here's an example of when I try to build oversteer:
[etienne@PC-ETIENNE yay]$ yay -S oversteer
AUR Explicit (1): oversteer-0.8.3-2
:: PKGBUILD à jour, téléchargement ignoré : oversteer
==> Création du paquet oversteer 0.8.3-2 (jeu. 26 déc. 2024 18:28:50)
==> Récupération des sources…
-> oversteer-0.8.3.tar.gz trouvé
==> ATTENTION : Ignore la vérification des signatures PGP des fichiers sources.
==> Validation des fichiers source avec b2sums…
oversteer-0.8.3.tar.gz ... Réussite
:: (1/1) Analyse du SRCINFO : oversteer
==> Création du paquet oversteer 0.8.3-2 (jeu. 26 déc. 2024 18:28:51)
==> Vérification des dépendances pour l’exécution…
==> Vérification des dépendances pour la compilation…
==> Récupération des sources…
-> oversteer-0.8.3.tar.gz trouvé
==> Validation des fichiers source avec b2sums…
oversteer-0.8.3.tar.gz ... Réussite
==> Suppression du répertoire $srcdir/ existant…
==> Extraction des sources…
-> Extraction de oversteer-0.8.3.tar.gz avec bsdtar
==> Les sources sont prêtes.
==> Création du paquet oversteer 0.8.3-2 (jeu. 26 déc. 2024 18:28:52)
==> Vérification des dépendances pour l’exécution…
==> Vérification des dépendances pour la compilation…
==> ATTENTION : Utilisation de l’arbre $srcdir/ existant
==> Lancement de build()…
The Meson build system
Version: 1.6.1
Source dir: /home/etienne/.cache/yay/oversteer/src/oversteer-0.8.3
Build dir: /home/etienne/.cache/yay/oversteer/src/oversteer-0.8.3/build
Build type: native build
Project name: oversteer
Project version: 0.8.3
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
Run-time dependency udev found: YES 257
meson.build:27: WARNING: Project targets '>= 0.56.0' but uses feature deprecated since '0.56.0': dependency.get_pkgconfig_variable. use dependency.get_variable(pkgconfig : ...) instead
Configuring io.github.berarma.Oversteer.desktop.tmp using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Configuring oversteer using configuration
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Build targets in project: 16
WARNING: Deprecated features used:
* 0.56.0: {'dependency.get_pkgconfig_variable'}
oversteer 0.8.3
User defined options
prefix: /usr
Found ninja-1.12.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `build'
[11/11] Merging translations for data/io.github.berarma.Oversteer.appdata.xml
==> Entre dans l’environnement fakeroot…
==> Création terminée : oversteer 0.8.3-2 (jeu. 26 déc. 2024 18:28:52)
==> Nettoyage…
-> le PKGDEST pour oversteer est listé par makepkg mais n'existe pas : /home/etienne/.cache/yay/oversteer/oversteer-0.8.3-2-any.pkg.tar.zst
[etienne@PC-ETIENNE yay]$ ls /home/etienne/.cache/yay/oversteer/
oversteer oversteer-0.8.3.tar.gz PKGBUILD
How can I get the compilation to work as before?
The problem doesn't seem that complicated, but I haven't found a solution...
Last edited by etiennec78 (2024-12-26 17:38:27)
Offline
Did you skip lines?
Why are we going from 1/1 to 11/11 - I do remember from school that counting in french is whacko¹… but I'm pretty sure it wasn't *that* whacko
Also it seems the package gets built and the next thing is yay wants to clean up only to complain that the package it wants to delete isn't there…
==> ATTENTION : Utilisation de l’arbre $srcdir/ existant
What happens if you remove /home/etienne/.cache/yay/oversteer first?
You might be re-using some python 3.10 binaries.
In general please export LC_ALL=C - at least the german translation of pacman has some cofusing stanzas
¹ quatre-vingt-troisième … joyeux Noël
Offline
Hmm... I have only skipped the lines asking if I wanted to cleanBuild or show diffs, everything else wasn't touched. Oversteer itself might be whacko ?
Here is the new output in english and with the folder deleted
[etienne@PC-ETIENNE ~]$ rm -rf /home/etienne/.cache/yay/oversteer
[etienne@PC-ETIENNE ~]$ yay -S oversteer
AUR Explicit (1): oversteer-0.8.3-2
:: (1/1) Downloaded PKGBUILD: oversteer
1 oversteer (Installed) (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
1 oversteer (Installed) (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
==> Making package: oversteer 0.8.3-2 (Fri Dec 27 12:38:01 2024)
==> Retrieving sources...
-> Downloading oversteer-0.8.3.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 155k 0 155k 0 0 381k 0 --:--:-- --:--:-- --:--:-- 381k
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with b2sums...
oversteer-0.8.3.tar.gz ... Passed
:: (1/1) Parsing SRCINFO: oversteer
==> Making package: oversteer 0.8.3-2 (Fri Dec 27 12:38:02 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found oversteer-0.8.3.tar.gz
==> Validating source files with b2sums...
oversteer-0.8.3.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Extracting oversteer-0.8.3.tar.gz with bsdtar
==> Sources are ready.
==> Making package: oversteer 0.8.3-2 (Fri Dec 27 12:38:03 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
The Meson build system
Version: 1.6.1
Source dir: /home/etienne/.cache/yay/oversteer/src/oversteer-0.8.3
Build dir: /home/etienne/.cache/yay/oversteer/src/oversteer-0.8.3/build
Build type: native build
Project name: oversteer
Project version: 0.8.3
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
Run-time dependency udev found: YES 257
meson.build:27: WARNING: Project targets '>= 0.56.0' but uses feature deprecated since '0.56.0': dependency.get_pkgconfig_variable. use dependency.get_variable(pkgconfig : ...) instead
Configuring io.github.berarma.Oversteer.desktop.tmp using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Configuring oversteer using configuration
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Build targets in project: 16
WARNING: Deprecated features used:
* 0.56.0: {'dependency.get_pkgconfig_variable'}
oversteer 0.8.3
User defined options
prefix: /usr
Found ninja-1.12.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `build'
[11/11] Merging translations for data/io.github.berarma.Oversteer.appdata.xml
==> Entering fakeroot environment...
==> Finished making: oversteer 0.8.3-2 (Fri Dec 27 12:38:03 2024)
==> Cleaning up...
-> the PKGDEST for oversteer is listed by makepkg but does not exist: /home/etienne/.cache/yay/oversteer/oversteer-0.8.3-2-any.pkg.tar.zst
Merry Christmas to you too !
Offline
Probably more yay than that package
build() {
cd ${pkgname}-${pkgver}
meson build --prefix=/usr
ninja -C build
}
package() {
cd ${pkgname}-${pkgver}
DESTDIR="${pkgdir}" ninja -C build install
}
but
Found ninja-1.12.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `build'
[11/11] Merging translations for data/io.github.berarma.Oversteer.appdata.xml
==> Entering fakeroot environment...
doesn't really look like ninja build went through, the package routine doesn't happen and yay eats the receipts?
Try to build the package w/ makepkg directly and see where it errors out.
Offline
Thank you for helping me out !
However, I'm sorry if my first post wasn't clear enough, but this happens when I install any package, not just oversteer.
My computer froze during a pacman update and all my packages files went empty/orpheans.
I tried to recover my system by reinstalling all of my packages with a script, but some of it is still broken (mainly compilation with yay).
I would like to avoid reinstalling archlinux entierly if possible, as most of my system is working.
Here is the output of makepkg :
[etienne@PC-ETIENNE oversteer]$ makepkg
==> Making package: oversteer 0.8.3-2 (Fri Dec 27 18:34:36 2024)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found oversteer-0.8.3.tar.gz
==> Validating source files with b2sums...
oversteer-0.8.3.tar.gz ... Passed
==> Extracting sources...
-> Extracting oversteer-0.8.3.tar.gz with bsdtar
==> Starting build()...
The Meson build system
Version: 1.6.1
Source dir: /home/etienne/.cache/yay/oversteer/src/oversteer-0.8.3
Build dir: /home/etienne/.cache/yay/oversteer/src/oversteer-0.8.3/build
Build type: native build
Project name: oversteer
Project version: 0.8.3
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python3 found: YES (/usr/bin/python3)
Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0
Run-time dependency udev found: YES 257
meson.build:27: WARNING: Project targets '>= 0.56.0' but uses feature deprecated since '0.56.0': dependency.get_pkgconfig_variable. use dependency.get_variable(pkgconfig : ...) instead
Configuring io.github.berarma.Oversteer.desktop.tmp using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Program appstream-util found: YES (/usr/bin/appstream-util)
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Configuring oversteer using configuration
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Build targets in project: 16
WARNING: Deprecated features used:
* 0.56.0: {'dependency.get_pkgconfig_variable'}
oversteer 0.8.3
User defined options
prefix: /usr
Found ninja-1.12.1 at /usr/bin/ninja
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
ninja: Entering directory `build'
[11/11] Merging translations for data/io.github.berarma.Oversteer.appdata.xml
==> Entering fakeroot environment...
==> Finished making: oversteer 0.8.3-2 (Fri Dec 27 18:34:36 2024)
[etienne@PC-ETIENNE oversteer]$ ls -l
total 168
-rw-r--r-- 1 etienne etienne 915 Dec 27 18:34 PKGBUILD
-rw-r--r-- 1 etienne etienne 159071 Dec 27 18:34 oversteer-0.8.3.tar.gz
d--x--x--x 2 etienne etienne 4096 Dec 27 18:34 pkg
drwxr-xr-x 3 etienne etienne 4096 Dec 27 18:34 src
Offline
Is the result the same with `makepkc -C` or preferably downloading the PKGBUILD to a separate location without yay's involvement then running makepkg? Also post the URL generated by the following (which is intended to detect all corrupt files tracked by pacman):
# LC_ALL=C pacman -Qkk 2>&1 | grep -v ', 0 altered files' | tee /tmp/broken_packages.txt
cat /tmp/broken_packages.txt | curl -F 'file=@-' 0x0.st
Last edited by loqs (2024-12-27 17:50:54)
Offline
I tried downloading and compiling oversteer manually with `makepkg -C` but the result was the same.
Here are the logs you asked : http://0x0.st/8sci.txt
There seems to be a lot of corruption remaining...
Offline
fakeroot: no mtree file
This is relevant to your problem.
fakeroot: no mtree file
gdb-common: no mtree file
glib2-devel: no mtree file
gobject-introspection-runtime: no mtree file
gpgme: no mtree file
gst-plugins-base: no mtree file
gst-plugins-good: no mtree file
gtk-update-icon-cache: no mtree file
xcb-proto: no mtree file
You need to re-install all of those first --dbonly, then proper
pacman -Sy --dbonly fakeroot gdb-common glib2-devel gobject-introspection-runtime gpgme gst-plugins-base gst-plugins-good gtk-update-icon-cache xcb-proto
pacman -Syu fakeroot gdb-common glib2-devel gobject-introspection-runtime gpgme gst-plugins-base gst-plugins-good gtk-update-icon-cache xcb-proto
"failed to calculate SHA256 checksum" is because you didn't run pacman as root and not necessarily a problem.
warning: gimp: /usr/share/gtk-doc/html/libgimpwidgets/gimp-widget-memsize-entry.png (SHA256 checksum mismatch)
warning: gimp: /usr/share/locale/mk/LC_MESSAGES/gimp20-libgimp.mo (SHA256 checksum mismatch)
Is probably corrupted files but unlikely critical.
I might have missed sth., but the rest looks harmless.
Offline
All of them with "mtree: Unrecognized archive format" need to be reinstalled the same way.
Edit, looks like that only adds debugedit to the list
edit2: nevermind, formatting is weird sometimes.
Last edited by Scimmia (2024-12-27 21:43:24)
Offline
Yes, they're the same list - we need to find a way to get a cleaner output from this (stderr might be superflous in most cases and seems to get mangled in a really ugly way)
Offline
Thanks, it worked !!
All compilations now work, and a bug I noticed yesterday with amberol has disappeared !
I still have a lot of mismatches, but as you said, it's not critical.
Anyway, thanks a lot for your help, my system is working again !
I wish you a happy new year
Offline
\o/
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
I'd say "bonne année deux mille vingt-cinq", but for now you're still counting like regular humans
So happy new year
Offline