Fehler beim Kompilieren von KDE

Post Reply
Message
Author
das
Posts: 78
Joined: 22. Jan 2001 1:37
Location: 42369 Wuppertal

Fehler beim Kompilieren von KDE

#1 Post by das »

Hi!

Ich habe KDE bereits installiert (auf einem LFS-System, also alles selbst kompiliert). Jetzt wollte ich KDE neu kompilieren um den Trick mit objprelink mal auszuprobieren, erhalte aber bei kdelibs-2.1.2 folgenden Fehler:

<font face="Courier New">...
make[<!--no-->3<!--no-->]: Entering directory `/usr/src/kdelibs-2.1.2/khtml'
/bin/sh ../libtool --mode=link --tag=CXX g++ -O2 -fno-exceptions -fno-check-new
-Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-lo
ng-long -Wnon-virtual-dtor -fno-builtin -march=i686 -O3 -fexpensive-optimization
s -frtti -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST -o libkhtml.la
-rpath /opt/kde/lib -version-info 3:0 -module -no-undefined -L/usr/X11R6/lib -L
/usr/lib/qt/lib -L/opt/kde/lib khtmlview.lo khtml_part.lo khtml_run.lo khtml_fa
ctory.lo khtml_settings.lo khtml_events.lo khtml_find.lo khtml_ext.lo khtml_page
cache.lo libkhtml_la_meta_unload.lo ./xml/libkhtmlxml.la ./html/libkhtmlhtml.la
./rendering/libkhtmlrender.la ./css/libkhtmlcss.la ./misc/libkhtmlmisc.la ./dom
/libkhtmldom.la ./java/libkjava.la ../kio/libkio.la ../kparts/libkparts.la ../kf
ile/libkfile.la ../kssl/libkssl.la
g++ -shared -nostdlib /usr/lib/crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/
crtbeginS.o .libs/khtmlview.o .libs/khtml_part.o .libs/khtml_run.o .libs/khtml_
factory.o .libs/khtml_settings.o .libs/khtml_events.o .libs/khtml_find.o .libs/k
html_ext.o .libs/khtml_pagecache.o .libs/libkhtml_la_meta_unload.o -Wl,--whole-a
rchive ./xml/.libs/libkhtmlxml.a ./html/.libs/libkhtmlhtml.a ./rendering/.libs/l
ibkhtmlrender.a ./css/.libs/libkhtmlcss.a ./misc/.libs/libkhtmlmisc.a ./dom/.lib
s/libkhtmldom.a -Wl,--no-whole-archive -L/usr/X11R6/lib -L/usr/lib/qt/lib -L/op
t/kde/lib ./xml/.libs/libkhtmlxml.a -L/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3
-L/usr/src/gcc-build/i686-pc-linux-gnu/libstdc++-v3/src -L/usr/src/gcc-build/i68
6-pc-linux-gnu/libstdc++-v3/src/.libs -lm -lm -lm -L/usr/src/gcc-build/gcc -lgcc
_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lc -lgcc ./h
tml/.libs/libkhtmlhtml.a -lm -lm -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s
-lgcc -lc -lgcc_s -lgcc -lm -lc -lgcc ./rendering/.libs/libkhtmlrender.a -lm -l
m -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -l
c -lgcc ./css/.libs/libkhtmlcss.a -lm -lm -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -l
m -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lc -lgcc ./misc/.libs/libkhtmlmisc.a -lm
-lm -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm
-lc -lgcc ./dom/.libs/libkhtmldom.a -lm -lm -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc
-lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lc -lgcc ./java/.libs/libkjava.so -L/us
r/src/kdelibs-2.1.2/kio/.libs -L/usr/src/kdelibs-2.1.2/kdeui/.libs -L/usr/src/kd
elibs-2.1.2/kdesu/.libs -L/usr/src/kdelibs-2.1.2/kdecore/.libs -L/usr/src/kdelib
s-2.1.2/dcop/.libs -L/usr/lib -L/usr/local/lib ../kio/.libs/libkio.so ../kparts/
.libs/libkparts.so -L/usr/src/kdelibs-2.1.2/kfile/.libs ../kfile/.libs/libkfile.
so ../kssl/.libs/libkssl.so /usr/local/lib/libstdc++.so -lm -lgcc -lc -lgcc
/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/crtendS.o /usr/lib/crtn.o -Wl,
-soname -Wl,libkhtml.so.3 -o .libs/libkhtml.so.3.0.0
/usr/bin/ld: .libs/libkhtml.so.3.0.0: undefined versioned symbol name __register
_frame_info@@GLIBC_2.0
/usr/bin/ld: failed to set dynamic section sizes: Bad value
collect2: ld returned 1 exit status
make[<!--no-->3<!--no-->]: *** [libkhtml.la] Error 1
make[<!--no-->3<!--no-->]: Leaving directory `/usr/src/kdelibs-2.1.2/khtml'
make[<!--no-->2<!--no-->]: *** [all-recursive] Error 1
make[<!--no-->2<!--no-->]: Leaving directory `/usr/src/kdelibs-2.1.2/khtml'
make[<!--no-->1<!--no-->]: *** [all-recursive] Error 1
make[<!--no-->1<!--no-->]: Leaving directory `/usr/src/kdelibs-2.1.2'
make: *** [<!--no-->all-recursive-am<!--no-->] Error 2
</font><!--fixed-->

Ich habe leider absolut keine Ahnung was das zu bedeuten hat. Letztes mal als ich KDE kompiliert habe (die selbe Version) gab's keine Probleme, und ich habe seitdem nichts wesentliches am System verändert (immernoch der selbe Compiler (gcc-2.95.3), die selbe glibc (2.2.2) usw.).

Mit objprelink kann das Problem auch nicht zu tun haben; der Fehler tritt schon beim ersten "make" auf, bevor objprelink überhaupt zum Einsatz kommt.

Ich hoffe jemand von euch kann mir hier weiterhelfen...

Danke,
Dominic

andib
Posts: 277
Joined: 20. Jun 2000 14:18
Location: Dortmund

Re: Fehler beim Kompilieren von KDE

#2 Post by andib »

Hi
Wo dein Problem liegt, weiss ich nicht (das weiss ich selten;)) aber versuch mal folgendes:
cd khtml; make clean ; cd .. ; make
Wenn das nicht tut versuch ein
make distclean ; make
oder besser ein
rm -rf kdelibs-2.1.2 ; tar xzvf kdelibs-2.1.2.tar.gz ; cd kdelibs-2.1.2 ; ./configure ; make
einfacher geht das mit ner CVS Version:
make -f admin/Makefile.common cvs-clean ; make -f Makefile.cvs ; ./configure ; make

Kurzer Tip noch: hast du damals beim komplieren von QT den gleichen Compiler verwendet?

CU
Andi

gewitter
Posts: 1354
Joined: 09. Apr 2001 9:03

Re: Fehler beim Kompilieren von KDE

#3 Post by gewitter »

Sieht aus, als ob ein alter Verweis auf glibc-2.0 drin wäre. Ich würde das Projekt auch noch mal aufräumen, wie Andi ausgeführt hat, oder die Archive komplett neu auspacken.

das
Posts: 78
Joined: 22. Jan 2001 1:37
Location: 42369 Wuppertal

Re: Fehler beim Kompilieren von KDE

#4 Post by das »

Hmm, ich habe schon versucht das Archiv neu auszupacken usw., aber ohne Erfolg. Außerdem habe ich versucht kdelibs-2.1.1 anstelle von 2.1.2 zu verwenden, aber die Kompilierung scheitert an der selben Stelle.
Übrigens habe ich auf diesem LFS-System von Anfang an immer den selben Compiler verwendet, und die glibc habe ich auch nie upgedated.
Und ich glaube, daß "__register_frame_info@@GLIBC_2.0" eigentlich definiert sein müsste. In /lib und /usr/lib gibt es hunderte von Bibliotheken die auf dieses Symbol verweisen.

# nm /lib/* /usr/lib/* 2>/dev/null | grep "__register_frame_info@@GLIBC_2\.0" | wc -l
369

Also warum findet khtml dieses Symbol nicht? Und wie finde ich überhaupt heraus wo es definiert ist?

Danke,
Dominic

Post Reply