Versucht man aktuell unter Arch Linux Programme wie Shutter oder gscan2pdf aus dem Arch-User-Repository AUR zu installieren, dann schlägt das Vorhaben schon seit einigen Wochen in den meisten Fällen fehl, weil Abhängigkeit wie perl-yaml-tiny, perl-net-dropbox-apiperl-net-oauth oder perl-gtk2-appindicator nicht aus dem Netz geladen werden können. Das Problem liegt nicht an Arch Linux und auch die AUR-Pakete sind OK. Schuld daran ist die äußerst wacklige Suche des Comprehensive Perl Archive Network  kurz CPAN  unter search.cpan.org.

So richtig klar wird einem das Problem erst, wenn man die Quell-Code URLs der Perl-Pakete mit dem Browser zu öffnen versucht. Die CPAN-Suche meldet dann immer wieder nur „503 Service Unavailable, No server is available to handle this request“. Da die AUR-Pakete eben auch auf diese Suchfunktion zurückgreifen, lassen sich die Perl-Pakete und somit auch Programme mit Perl-Abhängigkeiten wie eben Shutter oder gscan2pdf aktuell nicht mehr unter Arch Linux installieren.

$ pacaur -S shutter
:: Paket(e) shutter wurde in den Paketquellen nicht gefunden, suche im AUR...
:: Löse Abhängigkeiten auf...
:: no AUR metadata for perl-gtk2-appindicator package
:: Suche nach Zwischenkonflikten...

AUR Pakete (2): perl-gtk2-appindicator-0.15-2 shutter-0.91-1

:: Fortfahren mit Installation? [J/n] j
:: Retrieving package(s)...
:: Betrachte shutter PKGBUILD? [J/n] n
:: Betrachte perl-gtk2-appindicator PKGBUILD? [J/n] n
:: Building perl-gtk2-appindicator package(s)...
==> Erstelle Paket: perl-gtk2-appindicator 0.15-2 (Sa 5. Jul 16:09:44 CEST 2014)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
-> Lade Gtk2-AppIndicator-0.15.tar.gz 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:00:54 --:--:-- 0
Warning: Transient problem: HTTP error Will retry in 3 seconds. 3 retries
Warning: left.
0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
Warning: Transient problem: HTTP error Will retry in 3 seconds. 2 retries
Warning: left.
0 0 0 0 0 0 0 0 --:--:-- 0:00:54 --:--:-- 0
Warning: Transient problem: HTTP error Will retry in 3 seconds. 1 retries
Warning: left.
0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
curl: (22) The requested URL returned error: 503 Service Unavailable
==> FEHLER: Fehler beim Download von Gtk2-AppIndicator-0.15.tar.gz
Breche ab ...
:: perl-gtk2-appindicator aufgeräumt
:: Building shutter package(s)...

Eine ordentliche Lösung für die Problematik konnte ich bisher noch nicht finden, einen guten Workaround habe ich jedoch in den Perl-Blogs auftreiben können: Man biegt einfach search.cpan.org mit Hilfe eines Eintrag in die /etc/hosts auf metacpan.org um. AUR-Helper wie yaourt oder pacaur kommen mit den Ergebnissen von metacpan.org ebenso gut zurecht wie mit denen von search.cpan.org, dafür ist metacpan.org deutlich stabiler und im Regelfall auch erreichbar. Schnappt euch daher einfach einen Editor mit Root-Rechten und fügt die Zeile 46.43.35.68 search.cpan.org in die /etc/hosts ein, sodass die Datei am Ende in etwa wie folgt aussieht.

#
# /etc/hosts: static lookup table for host names
#

46.43.35.68 search.cpan.org

#      
127.0.0.1  localhost.localdomain  localhost  nimbus
::1        localhost.localdomain  localhost  nimbus

# End of file

Die Änderungen werden sofort nach dem Speichern der hosts-Datei aktiv, ihr müsst den Rechner also nicht extra neu starten. Testet die Umleitung am besten kurz im Browser, ein Aufruf von search.cpan.org sollte jetzt bei metacpan.org landen. Probiert ihr nun Shutter, gscan2pdf oder andere Anwendungen mit Perl-Abhängigkeiten zu installieren, dann sollte eurer AUR-Helper jetzt auch wieder in der Lage sein die benötigten Perl-Pakete aus dem Netz zu laden.

$ pacaur -S shutter
:: Paket(e) shutter wurde in den Paketquellen nicht gefunden, suche im AUR...
:: Löse Abhängigkeiten auf...
:: no AUR metadata for perl-gtk2-appindicator package
:: Suche nach Zwischenkonflikten...

AUR Pakete (2): perl-gtk2-appindicator-0.15-2 shutter-0.91-1

:: Fortfahren mit Installation? [J/n] j
:: Retrieving package(s)...
:: Betrachte shutter PKGBUILD? [J/n] n
:: Betrachte perl-gtk2-appindicator PKGBUILD? [J/n] n
:: Building perl-gtk2-appindicator package(s)...
==> Erstelle Paket: perl-gtk2-appindicator 0.15-2 (Sa 5. Jul 16:15:22 CEST 2014)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
-> Lade Gtk2-AppIndicator-0.15.tar.gz herunter...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 161 100 161 0 0 1615 0 --:--:-- --:--:-- --:--:-- 1626
100 15662 100 15662 0 0 42639 0 --:--:-- --:--:-- --:--:-- 65531
==> Überprüfe Gültigkeit der Quell-Dateien mit md5sums...
Gtk2-AppIndicator-0.15.tar.gz ... Durchgelaufen
==> Überprüfe Gültigkeit der Quell-Dateien mit sha1sums...
Gtk2-AppIndicator-0.15.tar.gz ... Durchgelaufen
==> Entpacke Quellen ...
-> Entpacke Gtk2-AppIndicator-0.15.tar.gz mit bsdtar
==> Beginne build()...
Checking if your kit is complete...
Looks good
[...]

11 Kommentare

  1. Warum bearbeitest du das PKGBUILD nicht, sondern schreibst die Adresse fest in die /etc/hosts?

    Vergiss bitte nicht, dass das AUR, auch wenn der Name das suggeriert, keine Repository ist.

    • Hast du mal nachgesehen wie viele Perl-Abhängigkeiten Shutter nach sich zieht? Da kommst du aus aus dem Bearbeiten von PKGBUILDs nicht mehr nach. Grüße, Christoph.

      • Nein, habe ich nicht, da ich Shutter nicht benötige und an sich so wenig Pakete aus dem AUR erstelle, wie es mir möglich ist.

  2. Ich dank dir wie verrückt. Seit Wochen schon konnte ich perl-mouse und Konsorten nicht mehr aktualisieren.
    Bei mir gab’s dann noch ein weiteres Problem bei shutter bzw perl-mouse:
    Parse::CPAN::Meta version 1.4414 required–this is only version 1.4405 at /usr/share/perl5/core_perl/CPAN/Meta.pm line 60
    Auf der AUR-Seite hab ich dann gelesen, dass man das Paket perl-extutils-makemaker entfernen muss. Dann lief auch bei mir alles durch.

    • „… Parse::CPAN::Meta version 1.4414 required–this is only version 1.4405 at /usr/share/perl5/core_perl/CPAN/Meta.pm line 60
      Auf der AUR-Seite hab ich dann gelesen, dass man das Paket perl-extutils-makemaker entfernen muss. Dann lief auch bei mir alles durch. …“

      Das war wiederum die Information, die mir noch gefehlt hatte. Vielen Dank.

  3. Hihi, ich hab‘ allen ernstes gelesen:

    „Perl-Pakete unterm Arsch nicht installierbar?“

    Ist sicher ein schlechter Witz, den sich Arch-User öfters anhören müssen. Sorry.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein