PDA

View Full Version : Undefined symbols in Qtopia



minguzzi
13th September 2006, 13:59
Hello everybody,

I am trying to setup a SBC board with embedded Linux and Qtopia, but it fails when I try to compile the Qtopia Core 4.14 evaluation.
I am using a Debian distribution.
As first thing I wanted to build Qtopia using the standard gcc compiler, later I would tackle the board-specific issues.
I configured Qtopia using the command:

./configure -embedded x86 -xplatform linux-g++ -prefix /opt/QtopiaCore-4.1.4-i386_2 -static -depths 16,24,32

The result is:

[...]
-DQTESTLIB_MAKEDLL -DQT_NO_DATASTREAM -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include -I. -Itmp-static -I. -o tmp/release-static/qabstracttestlogger.o qabstracttestlogger.cpp
rm -f libQtTest.a
ar cqs libQtTest.a tmp/release-static/qtestcase.o tmp/release-static/qtestlog.o tmp/release-static/qtesttable.o tmp/release-static/qtestdata.o tmp/release-static/qtestresult.o tmp/release-static/qasciikey.o tmp/release-static/qplaintestlogger.o tmp/release-static/qxmltestlogger.o tmp/release-static/qsignaldumper.o tmp/release-static/qabstracttestlogger.o
rm -f ../../../lib/libQtTest.a
mv -f libQtTest.a ../../../lib/
make[3]: Leaving directory `/home/diego/qtopia-core-eval-src-4.1.4/tools/qtestlib/src'
make[2]: Leaving directory `/home/diego/qtopia-core-eval-src-4.1.4/tools/qtestlib/src'
cd updater && make -f Makefile
make[2]: Entering directory `/home/diego/qtopia-core-eval-src-4.1.4/tools/qtestlib/updater'
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_CORE_LIB -I../../../mkspecs/linux-g++ -I. -I../../../include/QtCore -I../../../include -I. -I.moc/debug-static-emb-x86 -I. -o .obj/debug-static-emb-x86/main.o main.cpp
g++ -Wl,-rpath,/opt/QtopiaCore-4.1.4-i386_2/lib -Wl,-rpath,/opt/QtopiaCore-4.1.4-i386_2/lib -o updater .obj/debug-static-emb-x86/main.o -L/home/diego/qtopia-core-eval-src-4.1.4/lib -lQtCore_debug -L/home/diego/qtopia-core-eval-src-4.1.4/lib -lm -ldl -lpthread
.obj/debug-static-emb-x86/main.o: In function `printHelp(char**)':
/home/diego/qtopia-core-eval-src-4.1.4/tools/qtestlib/updater/main.cpp:28: undefined reference to `qDebug(char const*, ...)'

[...]

../../../include/QtCore/../../src/corelib/tools/qlist.h:500: undefined reference to `QListData::shared_null'
.obj/debug-static-emb-x86/main.o: In function `QList<QString>::detach_helper()':
../../../include/QtCore/../../src/corelib/tools/qlist.h:489: undefined reference to `QListData::detach()'
.obj/debug-static-emb-x86/main.o: In function `QList<QString>::append(QString const&)':
../../../include/QtCore/../../src/corelib/tools/qlist.h:395: undefined reference to `QListData::append()'
collect2: ld returned 1 exit status
make[2]: *** [updater] Error 1
make[2]: Leaving directory `/home/diego/qtopia-core-eval-src-4.1.4/tools/qtestlib/updater'
make[1]: *** [sub-updater-make_default-ordered] Error 2
make[1]: Leaving directory `/home/diego/qtopia-core-eval-src-4.1.4/tools/qtestlib'
make: *** [sub-tools-qtestlib-make_default-ordered] Error 2

It fails when it tries to build the first application that links a qtopia library.
I noticed that it does not link the QtCore library, so I added "-L." in the Makefile and I copied the libQtCore.a in the qtestlib/updater directory.

Now it fails later, for the same reason, when it tries to build the deform demo.

Time ago I downloaded and successfully installed the Qt X11 open source 4.1.4, but I made sure that its binaries were not in the PATH while I compiled Qtopia.
I noticed that in my /usr/lib directory there are some Qt 4.1.4 libraries, without symbols, probably installed with the distribution, is that a problem?

Any help is appreciated.

Thank you in advance
Diego