BIC?

Klas Kalass klas.kalass at gmx.de
Mon Nov 11 17:25:34 GMT 2002


Am Montag, 11. November 2002 17:42 schrieb Lubos Lunak:
> On Monday 11 November 2002 17:20, Klas Kalass wrote:
> > (repost from a mail to devel, but with additional information)
> >
> > Hi ,
> >
> > I tried to run kile, compiled for KDE 3 (I verified that it runs with KDE
> > 3.0.5 / QT 3.0.5) under KDE 3.0.98 / Qt 3.1.0 (both CVS from 8.11 -
> > compilation takes really long here).
> >
> > First it seems to load fine (splashscreen is shown), but then it aborts
> > with a relocation error:
> >
> > kile: relocation error: /opt/kde_cvs/lib/libkonsolepart.so: undefined
> > symbol:
> > _ZN11QMetaObject14new_metaobjectEPKcPS_PK9QMetaDataiS5_iPK13QMetaProperty
> >iP K9 QMetaEnumiPFbP7QObjectiiP8QVariantEPK10QClassInfoi
>
>  c++filt says this is :
>
> QMetaObject::new_metaobject(char const*, QMetaObject*, QMetaData const*,
> int, QMetaData const*, int, QMetaProperty const*, int, QMetaEnum const*,
> int, bool (*)(QObject*, int, int, QVariant*), QClassInfo const*, int)
>
>  And I can see this one in Qt sources (qmetaobject.cpp, around line 460).
> If you do 'nm -D libqt-mt.so' and grep the output for that symbol
> (mangled), will it list it?

yes, it does:
[klas at klasmobil klas]$ nm /opt/qt-copy/lib/libqt-mt.so | grep 
_ZN11QMetaObject14new_metaobjectEPKcPS_PK9QMetaDataiS5_iPK13QMetaPropertyiPK9QMetaEnumiPFbP7QObjectiiP8QVariantEPK10QClassInfoi
002bd5b2 T 
_ZN11QMetaObject14new_metaobjectEPKcPS_PK9QMetaDataiS5_iPK13QMetaPropertyiPK9QMetaEnumiPFbP7QObjectiiP8QVariantEPK10QClassInfoi

(just to make sure there is no mix-up: 
[klas at klasmobil klas]$ ldd /opt/kde_cvs/lib/libkonsolepart.so  | grep qt
        libqt-mt.so.3 => /opt/qt-copy/lib/libqt-mt.so.3 (0x408ac000)
)

I could not find it in the qt lib from version 3.0.5 though, because that one 
is stripped 
--- I think that is the hint: I still have the old qt installed, to which kile 
is linked, but for the konsolepart it uses the new version....
 
This is probably not supposed to work, is it?

Hmm, but now I manipulated the executable and exchanged 
/usr/lib:/usr/lib/qt3/lib:/usr/X11R6/lib with 
/opt/kde_cvs/lib:/opt/qt-copy/lib:/lib/l (note that I did not change the 
size) and "ldd kile" shows it is using the correct libs now, but the app 
crashes (but later, with a crash dialog and with no usable backtrace). 

I don't know enough to judge if this crash comes from my manipulations in the 
binary, so I just hope that mixing two versions of QT was the only "real" 
problem.

sorry for the noise,

Klas




More information about the kde-core-devel mailing list