Red Hat Bugzilla – Bug 57394
gcc fails for qt applications
Last modified: 2008-05-01 11:38:01 EDT
Description of Problem:
Since I updated to gcc-3.1-0.10 from rawhide I cannot compile
and of my qt dependent applications as the configure scripts fail
to run the little c++ program for testing. Everything compiled fine
with gcc-2.96 with the same qt packages. The error I get is:
configure:5393: checking for Qt
configure:5552: rm -rf SunWS_cache; g++ -o conftest -O2 -fno-exceptions
-fno-check-new -O2 -march=i386 -mcpu=i686 -DNDEBUG -DNO_DEBUG
-fno-check-new -I/usr/lib/qt-2.3.1/include -I/usr/X11R6/include
-L/usr/lib/qt-2.3.1/lib -L/usr/X11R6/lib conftest.C -lqt -lpng -lz -lm -ljpeg
-lXext -lX11 -lSM -lICE 1>&5
/tmp/ccSoVh0l.o: In function `main':
/tmp/ccSoVh0l.o(.text+0x40): undefined reference to `QString::shared_null'
/tmp/ccSoVh0l.o(.text+0x8a): undefined reference to
`QIconView::QIconView(QWidget*, char const*, unsigned)'
/tmp/ccSoVh0l.o(.text+0x9a): undefined reference to
/tmp/ccSoVh0l.o(.text+0x9f): undefined reference to `QString::shared_null'
/tmp/ccSoVh0l.o(.text+0xc3): undefined reference to `QString::setLatin1(char
/tmp/ccSoVh0l.o(.text+0xde): undefined reference to `QString::shared_null'
/tmp/ccSoVh0l.o(.text+0xe8): undefined reference to `QStringData::deleteSelf()'
/tmp/ccSoVh0l.o(.text+0xf0): undefined reference to `QIconView::~QIconView()'
/tmp/ccSoVh0l.o(.text+0x104): undefined reference to `QString::shared_null'
/tmp/ccSoVh0l.o(.text+0x111): undefined reference to
`QString::makeSharedNull()'/tmp/ccSoVh0l.o(.text+0x118): undefined reference
The qt libs and include files are in the above location and worked before. Is
this because the libraries are binary incompatible? I have tried recompiling
qt-2.3.1-5 but that failed in designer with the error:
/usr/src/redhat/BUILD/qt-2.3.1/bin/uic listboxeditor.ui -o ./listboxeditor.h
/usr/src/redhat/BUILD/qt-2.3.1/bin/uic: relocation error:
/usr/src/redhat/BUILD/qt-2.3.1/bin/uic: undefined symbol: _ZN5QChar4nullE
make: *** [listboxeditor.h] Error 127
which also compiled just a few days ago with 2.96. I am attaching the
conftest.C program that fails for configure in case it helps.
Created attachment 40347 [details]
c++ program that fails for configure
The compilers are of course totally binary incompatible.
qt build fails probably because it tries to run newly compiled uic program
against 2.96-RH compiled libqt.
I'd say, if you want things just work, downgrade gcc back to 2.96-RH.
I am using the compatibility packages for gcc-2.96 and that way everything
is working now BUT gcc-3.1 is required by other stuff in rawhide so I need
to have it.
How about if I compile qt with 3.1? I guess I'll have to recompile everything
that depends on it as well, right?