Home / LinuxUser / 2004 / 06 / So beheben Sie Fehler bei der Ausführung von make

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Handgemacht

So beheben Sie Fehler bei der Ausführung von make

Installation mit Hinternissen

Fehler beim Aufruf von make install gibt es fast nie. Meistens treten sie auf, wenn Sie ein Programm in ein anderes Verzeichnis installieren als nach /usr/local. Soll eine Anwendung in /usr/local/test landen, scheitert manchmal das Kopieren der Dateien daran, dass der Programmierer vergessen hat, im Makefile die Befehle einzutragen, die die Zielverzeichnisse erstellen.

Solange /usr/local/test/bin noch nicht existiert, schlägt jeder Versuch fehl, eine Datei dorthin zu kopieren. Am schnellsten beseitigen Sie solche Fehler, indem Sie die Zielverzeichnisse, die Sie aus der Fehlermeldung ersehen, mit mkdir selbst erstellen.

Ärger nach der Installation

Ist das Selbstkompilat erst installiert, folgt beim Start einer neuen KDE-Anwendung oft Ernüchterung: Das Programm findet seine Plugins nicht, präsentiert sich mit nackter Werkzeugleiste ohne Icons und spricht natürlich auch kein Deutsch (Abbildung 2). Per Default suchen KDE-Anwendungen nämlich nur unterhalb des Verzeichnisses, in dem die KDE-Kernanwendungen samt Zubehör liegen, nach ihren Daten. Unter Suse Linux heißt dieses KDE-Verzeichnis /opt/kde3, unter Red Hat und Mandrake Linux /usr. Bei selbst übersetzten KDE-Anwendungen wandern die Icons, Plugins und Hilfe-Dateien jedoch nach /usr/local.

In Web-Foren erhalten Fragesteller bei diesem Problem meistens den Rat, die Anwendung erneut zu übersetzen und dieses Mal beim ./configure-Aufruf das KDE-Verzeichnis als Installationsziel anzugeben, z. B. mit ./configure --prefix=/opt/kde3.

Obwohl die Anwendungen danach wie erwartet funktionieren, ist diese Lösung nicht ideal, sondern mitunter sogar gefährlich. Das Verzeichnis /opt/kde3 gehört bei Suse ebenso wie /usr unter Red Hat und Mandrake Linux der Paketverwaltung. Eigenkompilate haben dort nichts zu suchen, denn die Paketverwaltung kann selbst übersetzte Software nicht entfernen. Bei einem Distributions- oder KDE-Update können diese Dateien zu einem instabilen KDE führen. An die selbstkompilierten Anwendungen erinnert man sich zu diesem Zeitpunkt meistens nicht, und selbst wenn, hat man kaum eine Chance, den Störenfried aufzuspüren.

Die saubere Lösung besteht darin, seinen KDE-Programmen mitzuteilen, dass es noch ein weiteres Datenverzeichnis gibt. Das geht über die Umgebungsvariable KDEDIRS. Der Befehl

export KDEDIRS=/usr/local:/opt/kde3

setzt sie auf die beiden für Suse Linux relevanten Verzeichnisse: /usr/local, wo selbst kompilierte Software landet, und /opt/kde3, wo das Distributions-KDE liegt. Der passende Befehl unter Red Hat und Mandrake Linux lautet export KDEDIRS=/usr/local:/usr.

Aus dem so präparierten Kommandozeilenfenster gestartet, halten KDE-Anwendungen nun auch unterhalb von /usr/local nach ihren Daten Ausschau. Wollen Sie die Umgebungsvariable dauerhaft setzen, ist die Datei .bash_profile in Ihrem /home-Verzeichnis der richtige Ort. Befehle, die Sie dort eintragen, führt die Bash aus, sobald Sie sich am System anmelden.

Ein wenig mehr Arbeit wartet auf Suse-Linux-Nutzer, da dort der Befehl

unset KDEDIRS

in der Datei /opt/kde3/bin/startkde steht. Dieses Shell-Skript startet den KDE-Desktop. unset löscht den Inhalt von Umgebungsvariablen und ist damit ein Gegenstück zu export. Da das Skript ~/.bash_profile vor dem Start des Desktops ausgeführt wird, erfährt KDE gar nicht, dass es noch ein weiteres Datenverzeichnis gibt.

Um auch unter Suse Linux die Variable zu setzen, öffnen Sie die Datei /opt/kde3/bin/startkde als root mit einem Editor und setzen vor die Zeile unset KDEDIRS eine Raute (#). Sie gilt als Kommentarzeichen, so dass die Shell den Rest der Zeile nicht ausführt. Wollen Sie die Änderung später einmal rückgängig machen, entfernen Sie das Zeichen einfach.

Abbildung 2: Ein nach /usr/local installiertes K3b findet weder seine Icons noch die Plugins.

Glossar

Makefile

Diese Regeldatei enthält alle Befehle und Informationen, die zum Übersetzen eines Programms nötig sind, z. B. den Speicherort von Bibliotheken und Include-Dateien, die nötigen Compiler-Aufrufe und die Kopierbefehle, die die fertig übersetzte Anwendung ins Zielverzeichnis installieren.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 0 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...