Gtkhash Update schlägt fehl

Mom werden zwei Updates aus dem AUR gezeigt, die sich aber nicht installieren lassen:

gtkhash und gtkhash-thunar

Vorbereitung...
Synchronisiere Paketdatenbanken...
Aktualisierung von AUR...
Es gibt nichts zu tun.
Überprüfe gtkhash Abhängigkeiten...
Überprüfe gtkhash-thunar Abhängigkeiten...
Abhängigkeiten werden aufgelöst...
Interne Konflikte werden überprüft...
Klone gtkhash Build-Dateien...
Generiere gtkhash Informationen...
Klone gtkhash-thunar Build-Dateien...
Generiere gtkhash-thunar Informationen...

Erstelle gtkhash...
==> Erstelle Paket: gtkhash 1.5-4 (Do 16 Jul 2026 09:47:26 CEST)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
  -> Lade gtkhash-1.5.tar.xz herunter...
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed

  0      0   0      0   0      0      0      0                              0
  0      0   0      0   0      0      0      0                              0
  0      0   0      0   0      0      0      0                              0

  0      0   0      0   0      0      0      0                              0
  0      0   0      0   0      0      0      0                              0
  0      0   0      0   0      0      0      0                              0

  0      0   0      0   0      0      0      0                              0
100 435.3k 100 435.3k   0      0 761.6k      0                              0
100 435.3k 100 435.3k   0      0 761.5k      0                              0
100 435.3k 100 435.3k   0      0 761.5k      0                              0
==> Überprüfe source Dateien mit sha256sums...
    gtkhash-1.5.tar.xz ... Erfolg
==> Entferne existierendes $srcdir/ Verzeichnis...
==> Entpacke Quellen...
  -> Entpacke gtkhash-1.5.tar.xz mit bsdtar
==> Beginne prepare()...
==> Beginne build()...
gtkhash-1.5 has no wrap files
+ exec meson setup --prefix /usr --libexecdir lib --sbindir bin --buildtype plain --auto-features enabled --wrap-mode nodownload -D b_pie=true -D python.bytecompile=1 gtkhash-1.5 build -Dglib-checksums=true -Dlinux-crypto=true -Dnettle=true -Dbuild-caja=false -Dbuild-nautilus=false -Dbuild-nemo=false -Dbuild-thunar=false
The Meson build system
Version: 1.11.1
Source dir: /var/tmp/pamac-build-voll/gtkhash/src/gtkhash-1.5
Build dir: /var/tmp/pamac-build-voll/gtkhash/src/build
Build type: native build
Project name: gtkhash
Project version: 1.5
C compiler for the host machine: cc (gcc 16.1.1 "cc (GCC) 16.1.1 20260625")
C linker for the host machine: cc ld.bfd 2.46.1
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -fno-common: YES 
Compiler for C supports arguments -fvisibility=hidden: YES 
Compiler for C supports arguments -pedantic: YES 
Compiler for C supports arguments -Waggregate-return: YES 
Compiler for C supports arguments -Wbad-function-cast: YES 
Compiler for C supports arguments -Wcast-align: YES 
Compiler for C supports arguments -Werror=implicit-function-declaration: YES 
Compiler for C supports arguments -Wfloat-equal: YES 
Compiler for C supports arguments -Wformat-nonliteral: YES 
Compiler for C supports arguments -Wformat-security: YES 
Compiler for C supports arguments -Wformat-signedness: YES 
Compiler for C supports arguments -Wformat: YES 
Compiler for C supports arguments -Wlogical-op: YES 
Compiler for C supports arguments -Wmissing-declarations: YES 
Compiler for C supports arguments -Wmissing-noreturn: YES 
Compiler for C supports arguments -Wno-parentheses-equality: NO 
Compiler for C supports arguments -Wredundant-decls: YES 
Compiler for C supports arguments -Wshadow: YES 
Compiler for C supports arguments -Wswitch-default: YES 
Compiler for C supports arguments -Wundef: YES 
Compiler for C supports arguments -Wwrite-strings: YES 
Found pkg-config: YES (/usr/bin/pkg-config) 2.5.1
Run-time dependency glib-2.0 found: YES 2.88.2
Run-time dependency gio-2.0 found: YES 2.88.2
Run-time dependency gtk+-3.0 found: YES 3.24.52
Run-time dependency libb2 found: YES 0.98.1
Run-time dependency libgcrypt found: YES 1.12.2
Header "gcrypt.h" has symbol "GCRY_MD_BLAKE2B_512" : YES 
Header "gcrypt.h" has symbol "GCRY_MD_SHA3_512" : YES 
Header "gcrypt.h" has symbol "GCRY_MD_SM3" : YES 
Has header "linux/if_alg.h" : YES 
Run-time dependency nettle found: YES 4.0
Run-time dependency zlib found: YES 1.3.2
Configuring config.h using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Configuring org.gtkhash.gtkhash.appdata.xml.in using configuration
Dependency gio-2.0 for build machine found: YES 2.88.2 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Configuring test.md5sum using configuration
Build targets in project: 57
NOTICE: Future-deprecated features used:
 * 1.1.0: {'"boolean option" keyword argument "value" of type str'}

gtkhash 1.5

  Interfaces
    gtkhash           : true (gtk+-3.0)
    gtkhash-caja      : false
    gtkhash-nautilus  : false
    gtkhash-nemo      : false
    gtkhash-thunar    : false (thunarx-3)

  Libraries
    Hash Function     : Preferred Implementation
    ADLER32           : zlib
    BLAKE2b           : blake2, gcrypt, linux_crypto
    BLAKE2s           : blake2, gcrypt, linux_crypto
    BLAKE2bp          : blake2
    BLAKE2sp          : blake2
    CRC32             : gcrypt, zlib
    CRC32C            : linux_crypto
    GOST              : gcrypt, nettle
    MD2               : nettle
    MD4               : gcrypt, linux_crypto, nettle
    MD5               : gcrypt, glib_checksums, linux_crypto, nettle
    MD6-224           : internal_md6
    MD6-256           : internal_md6
    MD6-384           : internal_md6
    MD6-512           : internal_md6
    MDC2              : 
    RIPEMD128         : linux_crypto
    RIPEMD160         : gcrypt, linux_crypto, nettle
    RIPEMD256         : linux_crypto
    RIPEMD320         : linux_crypto
    SHA1              : gcrypt, glib_checksums, linux_crypto, nettle
    SHA224            : gcrypt, linux_crypto, nettle
    SHA256            : gcrypt, glib_checksums, linux_crypto, nettle
    SHA384            : gcrypt, glib_checksums, linux_crypto, nettle
    SHA512            : gcrypt, glib_checksums, linux_crypto, nettle
    SHA3-224          : gcrypt, linux_crypto, nettle
    SHA3-256          : gcrypt, linux_crypto, nettle
    SHA3-384          : gcrypt, linux_crypto, nettle
    SHA3-512          : gcrypt, linux_crypto, nettle
    SM3               : gcrypt
    TIGER192          : gcrypt, linux_crypto
    WHIRLPOOL         : gcrypt, linux_crypto
    XXH64             : linux_crypto

    linux-crypto      : support depends on kernel module availability - check /proc/crypto

  User defined options
    auto_features     : enabled
    b_pie             : true
    build-caja        : false
    build-nautilus    : false
    build-nemo        : false
    build-thunar      : false
    buildtype         : plain
    glib-checksums    : true
    libexecdir        : lib
    linux-crypto      : true
    nettle            : true
    prefix            : /usr
    python.bytecompile: 1
    sbindir           : bin
    wrap_mode         : nodownload

Found ninja-1.13.2 at /usr/bin/ninja

Generating targets:   0%|          | 0/57 eta ?
                                               

Writing build.ninja:   0%|          | 0/119 eta ?
                                                 
ninja: Entering directory `/var/tmp/pamac-build-voll/gtkhash/src/build'
[1/84] Compiling C object src/hash/libhash.a.p/digest-format.c.o
[2/84] Compiling C object src/hash/libhash.a.p/hash-string.c.o
[3/84] Compiling C object src/hash/libhash.a.p/hash-lib-glib.c.o
[4/84] Compiling C object src/hash/libhash.a.p/hash-lib-gcrypt.c.o
[5/84] Compiling C object src/hash/libhash.a.p/hash-func.c.o
[6/84] Compiling C object src/hash/libhash.a.p/hash-lib.c.o
[7/84] Generating src/resources_c with a custom command
[8/84] Compiling C object src/hash/libhash.a.p/hmac.c.o
[9/84] Generating src/resources_h with a custom command
[10/84] Compiling C object src/hash/libhash.a.p/hash-lib-blake2.c.o
[11/84] Building translation po/ar/LC_MESSAGES/gtkhash-ar.mo
[12/84] Compiling C object src/hash/libhash.a.p/digest.c.o
[13/84] Compiling C object src/hash/libhash.a.p/hash-lib-nettle.c.o
FAILED: [code=1] src/hash/libhash.a.p/hash-lib-nettle.c.o 
cc -Isrc/hash/libhash.a.p -Isrc/hash -I../gtkhash-1.5/src/hash -I. -I../gtkhash-1.5 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -fno-common -fvisibility=hidden -pedantic -Waggregate-return -Wbad-function-cast -Wcast-align -Werror=implicit-function-declaration -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat -Wlogical-op -Wmissing-declarations -Wmissing-noreturn -Wredundant-decls -Wshadow -Wswitch-default -Wundef -Wwrite-strings -DHAVE_CONFIG_H -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -flto=auto -fPIC -pthread -DIN_HASH_LIB -MD -MQ src/hash/libhash.a.p/hash-lib-nettle.c.o -MF src/hash/libhash.a.p/hash-lib-nettle.c.o.d -o src/hash/libhash.a.p/hash-lib-nettle.c.o -c ../gtkhash-1.5/src/hash/hash-lib-nettle.c
../gtkhash-1.5/src/hash/hash-lib-nettle.c: In Funktion »gtkhash_hash_lib_nettle_finish«:
../gtkhash-1.5/src/hash/hash-lib-nettle.c:106:47: error: Übergabe des Arguments 2 von »((struct hash_lib_nettle_s *)func->lib_data)->meta->digest« wandelt eine Zahl in einen Zeiger um, ohne explizite Typkonvertierung [-Wint-conversion]
  106 |         LIB_DATA->meta->digest(LIB_DATA->ctx, *size, digest);
      |                                               ^~~~~
      |                                               |
      |                                               size_t {alias long unsigned int}
../gtkhash-1.5/src/hash/hash-lib-nettle.c:106:47: note: »uint8_t *« {alias »unsigned char *«} erwartet, aber Argument hat Typ »size_t« {alias »long unsigned int«}
../gtkhash-1.5/src/hash/hash-lib-nettle.c:36:19: error: zu viele Argumente für Funktion »((struct hash_lib_nettle_s *)func->lib_data)->meta->digest«; 2 erwartet, 3 bekommen
   36 | #define LIB_DATA ((struct hash_lib_nettle_s *)func->lib_data)
      |                  ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../gtkhash-1.5/src/hash/hash-lib-nettle.c:106:9: note: in expansion of macro »LIB_DATA«
  106 |         LIB_DATA->meta->digest(LIB_DATA->ctx, *size, digest);
      |         ^~~~~~~~
In file included from ../gtkhash-1.5/src/hash/hash-lib-nettle.c:28:
/usr/include/nettle/nettle-meta.h:109:28: note: hier deklariert
  109 |   nettle_hash_digest_func *digest;
      |                            ^~~~~~
[14/84] Compiling C object src/hash/libhash.a.p/hash-file.c.o
[15/84] Compiling C object src/hash/libhash.a.p/hash-lib-linux.c.o
[16/84] Compiling C object src/util/libutil.a.p/util.c.o
[17/84] Compiling C object src/hash/libhash.a.p/hash-lib-zlib.c.o
[18/84] Compiling C object src/hash/libhash.a.p/hash-lib-md6.c.o
[19/84] Compiling C object src/gtkhash.p/meson-generated_.._resources.c.o
[20/84] Compiling C object src/gtkhash.p/callbacks.c.o
[21/84] Compiling C object src/gtkhash.p/check.c.o
[22/84] Compiling C object src/gtkhash.p/gui.c.o
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /var/tmp/pamac-build-voll/gtkhash/src/build
==> FEHLER: Ein Fehler geschah in build().
    Breche ab...

Stimmt was mit dem AUR nicht oder liegt das an Pamac?

Weder noch, sondern das Paket ansich ist „kaputt“. Kann man nur warten.

Da frage ich mich, ob die Entwickler das selbst mal kompiliert haben. Wenn ja, dann aber mit anderen Compiler Einstellungen, die entweder nirgends dokumentiert sind, oder der Mensch, der das PKGBUILD für das AUR geschrieben hat, nur vergessen hat die einzutragen.

@Allfred Collision ist ein Ersatz für GTKHash. Bei Nautilus (Gnome) wird die Funktion auch im Kontextmenü eingefügt… ich weiß allerdings nicht ob es auch bei Thunar funktioniert.

Ansonsten würde ich mal den AUR Cache löschen und es anschließend neu versuchen, aber ich denke dass, wie Daemon schon sagt, das PKBUILD nicht in Ordnung ist.


Gerade bei Google nachgefragt:

Ja, das ist grundsätzlich möglich, allerdings ist die Anwendung Collision (ein grafisches Tool zum Generieren und Überprüfen von Dateiprüfsummen wie MD5 oder SHA-256) primär für den GNOME-Dateimanager (Nautilus) konzipiert und bringt standardmäßig eine Erweiterung für diesen mit. [1, 2]

Da der Dateimanager Thunar (aus dem Xfce-Desktop) eine andere Architektur nutzt, funktioniert das nicht vollautomatisch durch die Installation der App. Du kannst die Funktion für das Thunar-Kontextmenü jedoch leicht selbst einrichten:

  1. Öffne Thunar.
  2. Klicke im Menü auf Bearbeiten und wähle Benutzerdefinierte Aktionen… aus. [1]
  3. Füge über das +-Symbol eine neue Aktion hinzu:
    • Name: Prüfsummen berechnen (Collision) (oder ein Name deiner Wahl)
    • Befehl: flatpak run dev.geopjr.Collision %F (vorausgesetzt, du hast Collision als Flatpak installiert) oder alternativ den direkten Befehl, falls du es klassisch kompiliert hast.
    • Beschreibung: Z. B. Überprüft Hashes mit Collision
  4. Wechsel im selben Fenster auf den Reiter Dateizuordnungen und aktiviere dort alle Dateitypen (oder *), damit der Eintrag bei jedem Rechtsklick im Kontextmenü erscheint. [1]

Möchtest du wissen, wie du den Befehl für die benutzerdefinierte Aktion anpassen musst, je nachdem, ob du Collision über Flatpak oder aus dem Quellcode installiert hast?

@ zompel: Ich nutze auf diesem Rechner Thunar nicht, es ist halt standardmäßig dabei.

Wen man im AUR liest, erhält man die Lösung. Siehe hier ein wenig nach unten scrollen.

jihem commented on 2026-05-15 08:50 (UTC)

The project is not compatible with nettle4 and should be built with nettle3:

Ich habe einfach die Zeile: „export PKG_CONFIG_PATH=/usr/lib/nettle3/pkgconfig“ ohne " so wie angegeben eingefügt und das Update ist ganz normal durchgelaufen.

Schöner wäre natürlich, wenn es einfach mit der neuen Version von nettle laufen würde.

Edit: Darüber gibt es neuere Einträge, wonach es angeblich nicht funktionieren soll, vielleicht hat der User aber die Leerzeile danach vergessen.

Heute gab es die revidierten Versionen im AUR: gtkhash-1.5-5

Das Update lief durch, damit ist ein Problem gelöst und kehrt nicht mehr wieder.