Installationsprobleme

Aus LinuxUser 09/2000

Installationsprobleme

Geschickt umschifft

Die Installation aktueller Linux-Programme läuft häufig über den “klassischen” Weg, der aus den drei Schritten ./configure, make und make install besteht. Dabei kann allerdings einiges schiefgehen, wenn etwa für das Übersetzen notwendige Pakete fehlen. Schauen wir uns die typischen Probleme an…

Beim Installieren eines Programmes aus einem tar.gz-Quelltext-Archiv ist es das Ziel, mit Hilfe eines Compilers ausführbare Programme zu erzeugen. Dazu muss der Compiler natürlich installiert sein. Da es in der Regel um C- oder C++-Programme geht, sollte also ein C-Compiler auf Ihrer Platte sein. Bei den meisten aktuellen Distributionen ist das der egcs, und so heißt auch das rpm-Paket, das ihn enthält. Der Compiler alleine reicht aber nicht aus. Beim Kompilieren wird ein sogenanntes Makefile verwendet, das die Anweisungen enthält, mit denen die Programme übersetzt werden. Damit dieses ausgeführt werden kann, muss das Dienstprogramm make installiert sein, welches sich im rpm-Paket gleichen Namens versteckt.

Um zu prüfen, ob alles notwendige Zubehör vorhanden ist, können Sie die Befehle

rpm -q egcs
rpm -q make

eingeben; rpm sollte daraufhin jeweils mit dem Paketnamen und einer Versionsnummer (z. B. egcs-1.1.2-30 und make-3.78.1-4) antworten. Fehlt hier etwas, dann suchen Sie auf der Installations-CD Ihrer Linux-Distribution nach den entsprechenden Paketen (etwa egcs-1.1.2-30.i386.rpm und make-3.78.1-4.i386.rpm und installieren diese als Administrator root über den Befehl

rpm -Uvh paketname.rpm

nach. Der erste Schritt nach dem Auspacken des Quelltext-Archivs (und Wechsel in das neue Verzeichnis) ist das Konfigurieren der Sourcen – dabei wird das Makefile erzeugt. Der Befehl dazu ist

./configure

Die beiden Zeichen am Anfang sind in der Regel notwendig, damit Ihre Shell im aktuellen Verzeichnis nach dem Skript configure sucht. Dieses Skript durchsucht nun Ihr System nach Programmen und Bibliotheken, die für die Übersetzung der neuen Software benötigt werden; wollen Sie etwa ein KDE-Programm installieren, so sind mindestens die X-Window- und KDE-Bibliothekenund die zugehörigen Include-Filesnotwendig; entsprechendes gilt für GNOME-Programme.

Fehlen die notwendigen Dateien, erhalten Sie beim Aufruf von ./configure beispielsweise Fehlermeldungen der Form

checking for X... configure: error: Can't find X includes.
Please check your installation and add the correct paths!

Die notwendigen Pakete sind im Detail:

XFree86-devel-3.3.6-20.i386.rpm
kdelibs-1.1.2-15.i386.rpm
kdelibs-devel-1.1.2-15.i386.rpm
qt-2.1.0-4.beta1.i386.rpm
qt-devel-2.1.0-4.beta1.i386.rpm
gnome-libs-1.2.0-0mdk_helix_2.i586.rpm
gnome-libs-devel-1.2.0-0mdk_helix_2.i586.rpm

Die Versionsnummern sind dabei natürlich nur beispielhaft; falls Sie auf die Anfragen rpm -q XFree86-devel, rpm -q kdelibs-devel, rpm -q gnome-libs-devel usw. die Antwort “package … is not installed” erhalten, suchen Sie einfach auf Ihrer Distributions-CD nach ähnlich benannten Paketen und installieren diese (wie oben) nach. Für KDE-Programme werden natürlich nicht die GNOME-Bibliotheken benötigt, und anders herum.

Nach der Installation sollten die Fehlermeldungen unterbleiben, die ein Fehlen von “X includes” und ähnlichem bemängeln.

KDEDIR und QTDIR

Beim Übersetzen von KDE-Programmen tritt häufig das Problem auf, dass die Umgebungsvariablen KDEDIR und QTDIR nicht oder nicht richtig gesetzt sind; dies ist z. B. bei SuSE Linux 6.2 der Fall, wenn beide Qt-Bibliotheks-Versionen (1.x und 2.x) installiert sind. Setzen Sie, wenn es Probleme beim Kompilieren gibt, QTDIR auf das richtige Verzeichnis (z. B. mit export QTDIR=/usr/lib/qt-2.1.0). Auch KDEDIR sollte richtig gesetzt sein, bei den meisten Distributionen ist der richtige Wert /opt/kde oder /usr.

Glossar

Bibliotheken

Bibliotheken enthalten standardisierte Routinen (Programmteile), die von vielen Programmen benutzt werden können: So verwenden etwa die meisten KDE-Programme den gleichen Code zum Öffnen von Dateien – es wäre nun aber Unfug, diesen Code in jedes KDE-Programm fest einzubinden: das würde dazu führen, dass der Code mehrfach im Hauptspeicher des Rechners wäre, wenn mehrere KDE-Programme ausgeführt werden. Stattdessen landet dieser Code in einer Bibliothek, die dann nur ein einziges Mal geladen werden muss und allen KDE-Programmen zur Verfügung steht. Die Bibliotheken (engl.: Libraries) liegen meistens in /usr/lib/, /usr/local/lib/ oder Unterverzeichnissen davon; nur einige wichtige Systembibliotheken liegen direkt in /lib.

Include-Files

Während die Bibliotheken von fertigen Programmen verwendet werden, muss dem Compiler beim Übersetzen eines Programmes gesagt werden, wie auf die Bibliotheken zugegriffen werden kann, d. h. welche Programm-Funktionen sie bereitstellen. Dazu dienen die Include-Dateien, die die Endung .h haben und von den C- oder C++-Programmen eingebunden werden. Die Include-Dateien finden Sie meist in /usr/include, /usr/local/include und deren Unterverzeichnissen.

LinuxUser 09/2000 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben