On Mon, Mar 15, 2010 at 01:59:07PM +0500, Vladimir V. Kamarzin wrote: > >>>>> On 15 Mar 2010 at 13:41 "Ab" == ALT beekeeper writes: > > Ab> g++ -c -pipe -Wall -W -pipe -Wall -Os -DGLX_GLXEXT_LEGACY -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/lib64/qt3/mkspecs/default -I. -I. -I/usr/lib64/qt3//include -o iplistviewitem.o ../iplistviewitem/iplistviewitem.cpp > Ab> /usr/lib64/qt3//bin/uic form1.ui -i form1.h -o form1.cpp > Ab> /usr/lib64/qt3//bin/uic: symbol lookup error: /usr/lib64/libkdecore.so.4: undefined symbol: _ZN7KGlobal20deleteStaticDeletersEv > Ab> make: *** [form1.cpp] Error 127 > Ab> make: Leaving directory `/usr/src/RPM/BUILD/Linscope/linscope' > Ab> error: Bad exit status from /usr/src/tmp/rpm-tmp.45152 (%build) > > Есть идеи, почему такое происходит? > > [builder@vvk linscope]$ nm -D /usr/lib/libkdecore.so.4 |grep _ZN7KGlobal20deleteStaticDeletersEv > 0008b504 T _ZN7KGlobal20deleteStaticDeletersEv Дело темное. [builder@people linscope]$ /usr/lib64/qt3//bin/uic form1.ui -i form1.h -o form1.cpp /usr/lib64/qt3//bin/uic: symbol lookup error: /usr/lib64/libkdecore.so.4: undefined symbol: _ZN7KGlobal20deleteStaticDeletersEv [builder@people linscope]$ Прежде всего, /usr/lib64/qt3//bin/uic не слинкован и не загружает /usr/lib64/libkdecore.so.4. [builder@people linscope]$ ldd -r /usr/lib64/qt3//bin/uic |grep libkdecore [builder@people linscope]$ Скорее всего, libkdecore подцепляется через /usr/lib64/kde3/plugins/designer/kdewidgets.so. Далее, не понятно, откуда вызывается _ZN7KGlobal20deleteStaticDeletersEv. По базе символов подходящих пакетов не видно. [at@people perl-qa-rpmelfsym]$ ./perl rpmelfsym.pl /ALT/Sisyphus/files/x86_64/RPMS/ |grep _ZN7KGlobal20deleteStaticDeletersEv kdelibs-3.5.10-alt12.x86_64.rpm /usr/lib64/libkdecore.so.4.2.0 T _ZN7KGlobal20deleteStaticDeletersEv python-module-PyKDE-3.16.3-alt1.1.x86_64.rpm /usr/lib64/python2.6/site-packages/kdecore.so U _ZN7KGlobal20deleteStaticDeletersEv ruby-korundum-3.5.10-alt3.x86_64.rpm /usr/lib64/libsmokekde.so.1.2.2 U _ZN7KGlobal20deleteStaticDeletersEv [at@people perl-qa-rpmelfsym]$ То есть либо кто-то вызывает его через dlsym, либо происходит вызов из самой библиотеки. Видимо проблема возникает на стадии завершения работы, поскольку файл form1.cpp создается нормально. С опцией -nounload (Don't unload plugins after processing) uic работает нормально. [builder@people linscope]$ /usr/lib64/qt3//bin/uic -nounload form1.ui -i form1.h -o form1.cpp [builder@people linscope]$ /usr/lib64/qt3//bin/uic form1.ui -i form1.h -o form1.cpp /usr/lib64/qt3//bin/uic: symbol lookup error: /usr/lib64/libkdecore.so.4: undefined symbol: _ZN7KGlobal20deleteStaticDeletersEv [builder@people linscope]$