Der Source von klibido muß an den aktuellen gcc-Compiler angepaßt werden. Das ist etwas Aufwand,
die Frage ist, ob du klibido unbedingt willst/brauchst.
Das Paket selbst mußt du dann mit einer bestimmten makepkg Art bauen, da ansonst deine
Änderungen im Source wieder überschrieben werden.
makepkg -e
verhindert das der Sourcetarball jedesmal deine Änderungen überschreibt. Oder du liest dich
über den AUR-Link bzw. die WIki-Seiten auf archlinux.org ein, wie Patches erstellt und genutzt
werden im PKGBUILD. Wäre eine gute Möglichkeit etwas über Paketbau/Arch-PKGBUILD zu lernen
falls du Interesse, Zeit daran hast.
grouplist.cpp: In member function »void GroupList::slotCompactDbs()«:
grouplist.cpp:812: Fehler: »exit« wurde in diesem Gültigkeitsbereich nicht definiert
grouplist.cpp:831: Fehler: »free« wurde in diesem Gültigkeitsbereich nicht definiert
make[2]: *** [grouplist.o] Fehler 1
make[2]: Leaving directory `/home/louis/Pakete/klibido/src/klibido-0.2.5/src'
Beim Output des Compilers sind Fehler und Warnungen zu unterscheiden. Warnungen sind i.d.R. eher
für den Programmierer interessant, Fehler führen zum Abbruch des Vorgangs.
So auch hier: Es werden zwei Funktionen nicht gefunden (free und exit). Ältere gcc-Versionen stellten
diese quasi "inline" zur Verfügung, jetzt muß der Code so angepaßt werden daß die Header-Dateien,
in denen diese Funktionen definiert sind, explizit inkludiert werden.
Das Prinzip ist recht "einfach":
Über manpages kriegst du raus, welche Header-Datei benötigt wird. Z.B.:
man 3 exit zeigt als Header-Datei die stdlib.h. Da dein Programm ein C++-Programm ist werden
diese Header-Files mit der Syntax: cstdlib angesprochen.
Der Fehler tritt hier auf in der Datei grouplist.cpp. Also muß dort am Anfang, wo auch andere Header
inkludiert werden, eingefügt werden:
#include <cstdlib>
Mit free ist genauso zu verfahren, allerdings ist free ja auch in der stdlib.h definiert. Wird also durch
obige Änderung schon korrigiert.
Genauso ist dann mit anderen .cpp-Files zu verfahren, bei denen ggf. weitere Fehler auftreten.