Author Topic: Qtopia4 Core  (Read 11934 times)

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« 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!!!
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

lpotter

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
    • http://qtopia.net
Qtopia4 Core
« Reply #1 on: April 19, 2006, 02:39:48 pm »
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.
Software Engineer, Systems Group, MES, Trolltech
irc.freenode.net #qtopia
http://qtopia.net

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« Reply #2 on: April 20, 2006, 04:47:49 am »
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'
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« Reply #3 on: April 20, 2006, 04:51:55 am »
Quote
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  

Quote
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?
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« Reply #4 on: April 20, 2006, 07:21:52 am »
for those interested in file sizes:

Code: [Select]
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:
Code: [Select]
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...
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« Reply #5 on: April 20, 2006, 07:32:53 am »
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)
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« Reply #6 on: April 24, 2006, 10:19:55 am »
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).
« Last Edit: April 24, 2006, 10:31:45 am by speculatrix »
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« Reply #7 on: April 24, 2006, 10:37:20 am »
Quote
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
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

troika

  • Newbie
  • *
  • Posts: 6
    • View Profile
Qtopia4 Core
« Reply #8 on: May 03, 2006, 07:30:15 pm »
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
« Last Edit: May 03, 2006, 07:31:35 pm by troika »

speculatrix

  • Administrator
  • Hero Member
  • *****
  • Posts: 3707
    • View Profile
Qtopia4 Core
« Reply #9 on: May 04, 2006, 04:46:41 am »
Quote
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.
Gemini 4G/Wi-Fi owner, formerly zaurus C3100 and 860 owner; also owner of an HTC Doubleshot, a Zaurus-like phone.

troika

  • Newbie
  • *
  • Posts: 6
    • View Profile
Qtopia4 Core
« Reply #10 on: May 04, 2006, 04:40:38 pm »
Quote
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).
« Last Edit: May 04, 2006, 04:42:58 pm by troika »

lpotter

  • Sr. Member
  • ****
  • Posts: 450
    • View Profile
    • http://qtopia.net
Qtopia4 Core
« Reply #11 on: May 05, 2006, 03:58:25 am »
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.
Software Engineer, Systems Group, MES, Trolltech
irc.freenode.net #qtopia
http://qtopia.net

jgrauman

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • http://
Qtopia4 Core
« Reply #12 on: June 30, 2006, 01:01:00 am »
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
C1000