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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Dr. Linux
    Installieren macht Freunde, wenn man sich nachher über eine schicke neue Applikation freuen kann. Speziell das Kompilieren von KDE und KDE-Applikationen stellt jedoch für viele ein echtes Problem dar.
  • So beheben Sie Fehler bei der Ausführung von make
    Wenn das configure-Skript fehlerfrei durchgelaufen ist, stehen nur noch make und make install zwischen dem Anwender und der neuen Software. Auch hier steckt der Teufel bisweilen im Detail.
  • FTP-Client KBear
    Wenn's um den Download von Software per FTP geht, bietet ein spezialisiertes Client-Programm viele Vorteile gegenüber dem Zugriff per Web-Browser. KBear kann beispielsweise mehrere Server zeitgleich besuchen.
  • GUI-Programmierung mit Qt Designer
    Wenn die Englisch-, C++- und Qt-Kenntnisse ausreichen, macht der Qt Designer grafische Benutzeroberflächen (GUIs) per Mausklick möglich.
  • Einführung in die Programmiersprache C
    Die meisten Anwendungen, die für Linux verfügbar sind, haben die Entwickler in C oder C++ programmiert. Das spielt für die Installation eines fertigen Pakets keine Rolle, doch in seltenen Fällen müssen Sie in den Quelltext schauen.
Kommentare

Infos zur Publikation

LU 08/2016: Multimedia

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...
lidl internetstick für linux mint
rolf meyer, 04.06.2016 14:17, 3 Antworten
hallo zusammen ich benötige eure hilfe habe einen lidl-internetstick möchte ihn auf linux mint i...