libtool-Problem

08/01/2009 - 12:19 von Bernd Giesen | Report spam
Ich habe ein Problem mit libtool beim erstellen einer Konsolenanwendung
unter openSUSE 11.1/KDE 4.1. Vielleicht kann mir ja hier jemand
weiterhelfen:

Hier kurz die Vorgeschichte:
-
Ich habe auf meinem neuen Rechner openSUSE 11.1 mit KDE 4.1 installiert.
Unmittelbar nach dieser "Standardinstallation" konnte ich eine kleine, in
C++ geschriebene Konsolenanwendung (die ich bisher unter openSuSE 10.3/KDE
3.5.10 problemlos gepflegt hatte) einwandfrei compilieren und linken.
Leider benötige ich aber auch unter KDE 4.1 weiterhin kdevelop, was aber
bei der Installation von KDE 4.1 nicht standardmàßig mit installiert wurde.
Also habe ich kdevelop 3.x und alle dazu notwendigen Pakete brav über YAST
nachinstalliert.

Seitdem habe ich jedoch das Problem, dass libtool beim Linken meiner o.g.
Konsolenanwendung augenscheinlich in einer Endlosschleife hàngenbleibt
(diese Konsolenanwendung habe ich bisher immer als kdevelop (3.x)-Projekt
ohne Probleme gepflegt).

Erstelle ich dagegen testhalber mit Hilfe von kdevelop eine neue, jetzt aber
cmake-basierte Konsolenanwendung, funktioniert alles wunderbar.

Installiert wurden unter opensSUSE 11.1 das Paket libtool und libltdl7
(libltdl.so.7.2.0), jeweils als Version 2.2.6-1.20
 
Hier ist das Log eines kleinen, komplett neu angelegten Testprogramms (eine
simple "Hello world"-Konsolenanwendung) als kdevelop3-Projekt erstellt:

cd '/home/bernd/source/libtooltest/debug' && WANT_AUTOCONF_2_5="1"
WANT_AUTOMAKE_1_6="1" LC_MESSAGES="C" LC_CTYPE="C" gmake -k
gmake all-recursive
Making all in src
g++ -DHAVE_CONFIG_H -I. -I/home/bernd/source/libtooltest/src -I.. -O0 -g3 -MT
libtooltest.o -MD -MP -MF .deps/libtooltest.Tpo -c -o
libtooltest.o /home/bernd/source/libtooltest/src/libtooltest.cpp
mv -f .deps/libtooltest.Tpo .deps/libtooltest.Po
/bin/sh ../libtool --tag=CXX --mode=link g++ -O0 -g3 -o libtooltest
libtooltest.o

An dieser Stelle habe ich dann den libtool-Lauf (zunàchst) nach ca. 1 Minute
abgebrochen. (Normalerweise dauer das komplette Erstellen eines solchen
Programms gerade mal eine Sekunde, wenn überhaupt!)

Und jetzt kommt's: Ich war danach so frei und habe einen erneuten Durchlauf
mal nicht abgebrochen. Hier das (reproduzierbare!) Ergebnis:

1) libtool werkelt offensichtlich ca. 2 Minuten rum, dann
2) kdevelop wird "aus heiterem Himmel" einfach beendet (ohne dass ich noch
irgendeinen Crash-Screen sehe), dann
3) nur noch schwarzer Bildschirm und die Festplatte fàngt elendig an zu
rödeln.
4) Das war mir dann nicht mehr ganz geheuer. Zum Abbrechen half nur noch das
Drücken des Hardware-Reset-Knopfes.

Wie gesagt: Dieses Verhalten ist beliebig oft reproduzierbar!

Übrigens, eine mit kdevelop3 frisch angelegte KDE3-Anwendung ("Hello world")
kann jederzeit einwandfrei übersetzt werden (hierzu wird kurioserweise auch
libtool benutzt!). Nur wenn ich ein Konsolenanwendung bauen will, gibt's
immer den Crash.

Kann mir hier vielleicht jemand weiterhelfen, wie ich das Problem gelöst
bekomme?

viele Grüße,
Bernd
 

Lesen sie die antworten

#1 Christian Garbs
11/01/2009 - 23:18 | Warnen spam
Mahlzeit!

Bernd Giesen wrote:

Hier ist das Log eines kleinen, komplett neu angelegten
Testprogramms (eine simple "Hello world"-Konsolenanwendung) als
kdevelop3-Projekt erstellt:

cd '/home/bernd/source/libtooltest/debug' && WANT_AUTOCONF_2_5="1"
WANT_AUTOMAKE_1_6="1" LC_MESSAGES="C" LC_CTYPE="C" gmake -k
gmake all-recursive
Making all in src
g++ -DHAVE_CONFIG_H -I. -I/home/bernd/source/libtooltest/src -I.. -O0 -g3 -MT
libtooltest.o -MD -MP -MF .deps/libtooltest.Tpo -c -o
libtooltest.o /home/bernd/source/libtooltest/src/libtooltest.cpp
mv -f .deps/libtooltest.Tpo .deps/libtooltest.Po
/bin/sh ../libtool --tag=CXX --mode=link g++ -O0 -g3 -o libtooltest
libtooltest.o

An dieser Stelle habe ich dann den libtool-Lauf (zunàchst) nach
ca. 1 Minute abgebrochen. (Normalerweise dauer das komplette
Erstellen eines solchen Programms gerade mal eine Sekunde, wenn
überhaupt!)



Das ist C++, wie es aussieht. Gerade das Linken kann da auch mal eine
halbe Stunde dauern - übersetz mal hugin selber, aber geh
zwischendurch draußen spazieren :-)

Und jetzt kommt's: Ich war danach so frei und habe einen erneuten
Durchlauf mal nicht abgebrochen. Hier das (reproduzierbare!)
Ergebnis:

1) libtool werkelt offensichtlich ca. 2 Minuten rum, dann
2) kdevelop wird "aus heiterem Himmel" einfach beendet (ohne dass ich noch
irgendeinen Crash-Screen sehe), dann



Starte kdevelop mal aus einem Terminal heraus, vielleicht spuckt es
dir nach dem Abbruch ein paar Meldungen aus. Wenn du es über
irgendein Startmenü startest, siehst du sowas nicht.

3) nur noch schwarzer Bildschirm und die Festplatte fàngt elendig an zu
rödeln.
4) Das war mir dann nicht mehr ganz geheuer. Zum Abbrechen half nur noch das
Drücken des Hardware-Reset-Knopfes.



Abwarten. Vielleicht swappt er sich nur tot. Lass ihn rödeln -
Reset-Knopf ist auf jeden Fall ungesünder (da wird ja wohl kaum was
losrennen und dein Homeverzeichnis löschen).


Hmm, C++, spontaner Abbruch und ewiges Festplattengerödele.
Schuss ins Blaue: Zu wenig Speicher. Erst làuft dein RAM voll, dann
dein Swap und dann wird kdevelop vom OOM-Killer abgeschossen.
Ersteres kannst du mit einem nebenbei laufenden top beobachten,
letzteres müsste einen Eintrag im Syslog hervorrufen.

Gruß
Christian
Christian.Garbs.http://www.cgarbs.de
!retupmoc ruoy edisni deppart m'I !pleH

Ähnliche fragen