OESF Portables Forum
Everything Else => Zaurus - Everything Development => Distros, Development, and Model Specific Forums => Archived Forums => Qt/Qtopia => Topic started by: speculatrix on April 19, 2006, 02:03:03 pm
-
I've build qt/e 4 aka qtopia-4-core, and am trying it out. It's pretty huge - had to install on sdcard and cross-link.
I've managed to get most of the demos to work, some don't build/link, either due to missing symbols or maybe because I'm using gcc2.95.3
The programs which build are:
books composition deform interview mainwindow pathstroke spreadsheet sqlbrowser textedit
Some won't run due to needing the SQL drivers. Loading speed is q slow, running speed OK-ish.
Still got a few things to fix though before programs will normally from qtopia1.5 desktop on Z!!!
-
yes, I build it just about everyday. I am surprised it actually compiles with gcc2
You can make it smaller by configuring -qconfig small or whatever.
-
the toolkit cross-compile goes wrong with building moc and rcc - it builds native arm versions, so I copied over the qt4-x11 versions I built for x86.
the real two cuplits are two demos which don't compile... affine & gradients produce this error:
../shared/libdemo_shared.a(hoverpoints.o): In function `HoverPoints::eventFilter(QObject *, QEvent *)':
hoverpoints.o(.text+0x7c4): undefined reference to `HoverPoints::movePoint(int, QPointF const &, bool)'
hoverpoints.o(.text+0x870): undefined reference to `HoverPoints::movePoint(int, QPointF const &, bool)'
collect2: ld returned 1 exit status
arthurplugin (this is probably because, as I'm cross-compiling, QtDesigner was built for arm):
make[1]: *** [../../plugins/designer/libarthurplugin.so] Error 1
make[1]: Leaving directory `/home/zaurus/build/qtopia-core-opensource-src-4.1.2/demos/arthurplugin'
-
yes, I build it just about everyday. I am surprised it actually compiles with gcc2
My fees for being your beta tester will be very reasonable
You can make it smaller by configuring -qconfig small or whatever.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=123804\"][{POST_SNAPBACK}][/a][/div]
I figured so, but I wanted to go max-out and see what happened! Am I allowed to put up an IPK of the arm binaries and .so files built for Z?
Is there going to be a ROM for Zaurus using Qtopia 2.2 on qt-core 4?
-
for those interested in file sizes:
du -ks *.4.1.2
19924 libQt3Support_debug.so.4.1.2
3216 libQt3Support.so.4.1.2
9800 libQtCore_debug.so.4.1.2
2028 libQtCore.so.4.1.2
48276 libQtGui_debug.so.4.1.2
6356 libQtGui.so.4.1.2
2668 libQtNetwork_debug.so.4.1.2
420 libQtNetwork.so.4.1.2
1980 libQtSql_debug.so.4.1.2
268 libQtSql.so.4.1.2
2624 libQtSvg_debug.so.4.1.2
344 libQtSvg.so.4.1.2
772 libQtTest_debug.so.4.1.2
88 libQtTest.so.4.1.2
1332 libQtXml_debug.so.4.1.2
344 libQtXml.so.4.1.2
here's du -ks on each application:
2036 ./books/books
628 ./composition/composition
164 ./deform/deform
60 ./interview/interview
104 ./mainwindow/mainwindow
172 ./pathstroke/pathstroke
112 ./spreadsheet/spreadsheet
124 ./sqlbrowser/sqlbrowser
160 ./textedit/textedit
then there's 75MB of fonts...
-
oh yeah, here's the command I ran after I unpacked the tar.gz:
./configure -embedded arm -xplatform qws/linux-arm-g++ -big-endian --prefix=/home/zaurus/QT4
this is on suse10.0 machine
PATH:
/usr/local/Trolltech/Qt-4.1.2/bin:/home/zaurus/Embedix/tools/bin:/home/zaurus/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
(where the first part of the path was an already built qt-4-x11 install so I could use the binaries; there's a softlink from /home/zaurus/Embedix in /opt)
-
one other thing. the trolltech build scripts are a bit broken in that it creates arm binaries for tools it needs to run on the host...
so you end up with arm binaries for qmake, moc, rcc & uic. rename them (e.g. to qmake.arm) and copy over the x86 binaries (which I got from my qtopia-x11-v4 build).
-
yes, I build it just about everyday. I am surprised it actually compiles with gcc2
You can make it smaller by configuring -qconfig small or whatever.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=123804\"][{POST_SNAPBACK}][/a][/div]
you need to try different compile options then!!!
using -qconfig minimal breaks things:
make[3]: Entering directory `/home/zaurus/build/qtopia-core-opensource-src-4.1.2/src/gui'
arm-linux-g++ -c -pipe -fno-exceptions -g -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -DSXV_DISCOVERY -DQT_RASTER_IMAGEENGINE -DQT_RASTER_PAINTENGINE -DQT_PDF_SUPPORT -DFT_CONFIG_OPTION_SYSTEM_ZLIB -DQT_HAVE_FREETYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSXP -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include/QtCore -I../../include -I../../include/QtGui -I../3rdparty/libpng -I../3rdparty/zlib -I../3rdparty/freetype/src -I../3rdparty/freetype/include -I../3rdparty/freetype/builds/unix -I../3rdparty/opentype -I../../include/QtNetwork -I.moc/debug-shared-emb-arm -I. -o .obj/debug-shared-emb-arm/qdecoration_qws.o embedded/qdecoration_qws.cpp
In file included from ../../include/QtCore/qconfig-minimal.h:1,
from ../../include/QtCore/qconfig.h:2,
from ../../include/QtCore/../../src/corelib/global/qglobal.h:38,
from ../../include/QtCore/qglobal.h:1,
from ../../include/QtCore/arch/qatomic.h:27,
from ../../include/QtCore/../../src/corelib/thread/qatomic.h:31,
from ../../include/QtCore/qatomic.h:1,
from ../../include/QtGui/../../src/gui/painting/qregion.h:27,
from ../../include/QtGui/qregion.h:1,
from embedded/qdecoration_qws.h:27,
from embedded/qdecoration_qws.cpp:24:
../../include/QtCore/../../src/corelib/global/qconfig-minimal.h:131: warning: `QT_NO_STYLE_WINDOWSXP' redefined
*Initialization*:1: warning: this is the location of the previous definition
In file included from ../../include/QtGui/qapplication.h:1,
from embedded/qdecoration_qws.cpp:26:
../../include/QtGui/../../src/gui/kernel/qapplication.h: In function `static void QApplication::setOverrideCursor(const QCursor &, bool)':
../../include/QtGui/../../src/gui/kernel/qapplication.h:258: implicit declaration of function `int changeOverrideCursor(...)'
../../include/QtGui/../../src/gui/kernel/qapplication.h:258: no matching function for call to `QApplication::setOverrideCursor (const QCursor &)'
../../include/QtGui/../../src/gui/kernel/qapplication.h:258: candidates are: static void QApplication::setOverrideCursor(const QCursor &, bool)
embedded/qdecoration_qws.cpp: In function `static void QDecoration::startMove(QWidget *)':
embedded/qdecoration_qws.cpp:269: warning: unused parameter `class QWidget * widget'
embedded/qdecoration_qws.cpp: In function `static void QDecoration::startResize(QWidget *)':
embedded/qdecoration_qws.cpp:282: warning: unused parameter `class QWidget * widget'
make[3]: *** [.obj/debug-shared-emb-arm/qdecoration_qws.o] Error 1
-
Hmm. Won't build for me so far:
$ ./configure -qt-gif -embedded arm -xplatform qws/linux-arm-g++ -big-endian
[...]
$ gmake
[...]
arm-linux-g++ -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.1.1/lib -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.1.1/lib -o gradients .obj/release-shared-emb-arm/main.o .obj/release-shared-emb-arm/gradients.o .obj/release-shared-emb-arm/moc_gradients.o .obj/release-shared-emb-arm/qrc_gradients.o -L/opt/frobs/qt/qtopia-core/qtopia-core-opensource-src-4.1.1/lib -L../shared -ldemo_shared -L/opt/frobs/qt/qtopia-core/qtopia-core-opensource-src-4.1.1/lib -lQtGui -lQtNetwork -lQtCore -lm -ldl -lpthread
../shared/libdemo_shared.a(hoverpoints.o): In function `HoverPoints::eventFilter(QObject *, QEvent *)':
hoverpoints.o(.text+0x7c4): undefined reference to `HoverPoints::movePoint(int, QPointF const &, bool)'
hoverpoints.o(.text+0x870): undefined reference to `HoverPoints::movePoint(int, QPointF const &, bool)'
collect2: ld returned 1 exit status
gmake[2]: *** [gradients] Error 1
gmake[2]: Leaving directory `/opt/frobs/qt/qtopia-core/qtopia-core-opensource-src-4.1.1/demos/gradients'
gmake[1]: *** [sub-gradients-make_default-ordered] Error 2
gmake[1]: Leaving directory `/opt/frobs/qt/qtopia-core/qtopia-core-opensource-src-4.1.1/demos'
gmake: *** [sub-demos-make_default-ordered] Error 2
$ arm-linux-g++ --version
2.95.2
-
Hmm. Won't build for me so far:
arm-linux-g++ -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.1.1/lib -Wl,-rpath,/usr/local/Trolltech/QtopiaCore-4.1.1/lib -o gradients [div align=\"right\"][a href=\"index.php?act=findpost&pid=125634\"][{POST_SNAPBACK}][/a][/div]
when you've got this far it means you've got a working QTC4 package, just go into each demo directory in turn and make; you can build most of them except affine and gradients.
Maybe Mr lpotter will issue a patch or something.
-
when you've got this far it means you've got a working QTC4 package, just go into each demo directory in turn and make; you can build most of them except affine and gradients.
affine and gradients fail because of missing HoverPoints::movePoint
arthurplugin fails because of the missing QtDesigner library
Another minor snag: if you don't use --prefix, qtopia core installs into /usr/local/Trolltech/QtopiaCore-4.1.2 but the Makefiles for the examples expect /usr/local/Trolltech/QtopiaCore-4.1.1 (I built from qtopia-core-opensource-src-4.1.1.tar.gz on x86 linux).
-
Qtopia 2 does not compile nor work with Qtopia Core 4. They are incompatible, and that measn we can fix up Qtopia's API.
I would suggest trying the snapshots.
No testing is being done using gcc2 for Qt 4, that I am aware of.
-
I tried compiling Qt4/E for my C1000 some time ago with some success. I actually cross compiled it on my PC and was able to run some examples (textedit at least). I am running pdaXrom and used their SDK. The problem I ran into was getting the pointer and keyboard to work. Pointer (touchscreen) didn't work at all, and the keyboard was mapped all wrong. Maybe this was due to cross compiling. I tried several options for input devices but nothing worked. I'm somewhat interested in this, especially if qt4/e is significantly faster than qt4/x11...
Any thoughts about input devices?
Josh