From: Markus S. <msv...@ae...> - 2010-11-28 00:07:27
|
Hi N Twerdochlib, I did a few things to check into the Qt4 size issue. (I have not yet used Qt4 on the Gumstix, but I plan to start learning it in the near future, so I thought this was a good way to learn one or two things.) First, I ran "bitbake qt4-embedded" to build all the Qt4 stuff for Gumstix. On my quad core machine, this took around 1 hour. Next, I went to my "${OVEROTOP}/tmp/deploy/glibc/ipk/armv7a" directory to have a look at the new IPK files created. The Qt4 stuff, together with MySQL, PostgreSQL, and other assorted stuff, came to 557MB. Clearly too much for the Overo 256MB NAND. Then I had a closer look at the IPK files actually produced. I removed all files that had the following criteria: * Filename contains "-dbg". It is unlikely you will be using debug versions of libraries on the Gumstix, unless under special circumstances. * Filename contains "-doc". You will not need all that documentation on your Gumstix. (For example the file "qt4-embedded-doc_4.6.3-r25.1.6_armv7a.ipk" alone was 97MB) * All of the "phrasebook" files. Now the Qt4 files were still a hefty 56MB, but at least that is more likely to fit onto your Overo. (I say "more likely" because the IPK files are compressed, and will expand to fill up a bit more space.) But note that that includes all kinds of libraries that Qt4 uses only if you enable specific features. For your actual installation, you could probably slim it down to under 10MB, after you sit down and look at what you actually need (as Pat S. indicated earlier in the thread). This is just my first stab at it. Probably someone with more Qt4 knowledge can suggest further ways to reduce the space requirements. The directory "tmp/work/armv7a-angstrom-linux-gnueabi/qt4-embedded-4.6.2-r19.1/image" is not a good place to look to get a reasonable idea of the space requirements. That directory will contain *everything* that Qt4 can possibly install. However, you saw that multiple IPK files were generated from building the qt4-embedded recipe. This is because the various IPK files pick and choose what they install, to allow you to customize your Qt4 installation to your requirements. I would recommend that it is more useful to look in the "/tmp/deploy/glibc/ipk/armv7a" to see the actual IPK file sizes. Regards, Markus. On 10-11-26 11:46 PM, N Twerdochlib wrote: > my build before I started trying to thin down was something in the range of > 667mb (based on du -h output in the > tmp/work/armv7a-angstrom-linux-gnueabi/qt4-embedded-4.6.2-r19.1/image > directory). I am wondering if I am really looking at the correct directory > now. The package directory is more a long the lines of the sizes I was > expecting. > > I have 4.7.0 on an X86 down to 24mb but still don't have a clean bitbake > build. > > For the 4.7.0 recipe I am completely over writing the QT_CONFIG_FLAGS > variable, but am getting a compile error: > > make[1]: Entering directory > `/home/nik/development/gumstix/tmp/work/armv7a-angstrom-linux-gnueabi/qt4-em > bedded-4.7.0-r25.1/qt-everywhere-opensource-src-4.7.0/src/gui' > arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon > -mfloat-abi=softfp -mthumb-interwork -mno-thumb -c -include > .pch/release-shared-emb-auto/QtGui > -isystem/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnu > eabi/usr/include -fexpensive-optimizations -frename-registers > -fomit-frame-pointer -O2 -ggdb2 -fpermissive -fvisibility-inlines-hidden > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u > sr/include > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u > sr/include/freetype2 > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u > sr/include/mysql > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u > sr/include/postgresql -pthread > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u > sr/include/glib-2.0 > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u > sr/lib/glib-2.0/include -mfpu=neon -Wall -W -D_REENTRANT -fPIC -DQT_SHARED > -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII > -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS > -DQT_USE_FAST_CONCATENATION -DQT_HAVE_NEON -DQT_NO_FONTCONFIG > -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA > -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_GTK -DQT_NO_STYLE_WINDOWSCE > -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC > -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -D_LARGEFILE64_SOURCE > -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include/QtCore > -I../../include/QtNetwork -I../../include -I../../include/QtGui > -I.rcc/release-shared-emb-auto -Iimage -I../3rdparty/harfbuzz/src -Idialogs > -I.moc/release-shared-emb-auto -I.uic/release-shared-emb-auto -o > .obj/release-shared-emb-auto/qapplication.o kernel/qapplication.cpp > kernel/qapplication.cpp: In member function 'void > QApplication::setInputContext(QInputContext*)': > kernel/qapplication.cpp:5321: warning: possible problem detected in > invocation of delete operator: > kernel/qapplication.cpp:156: warning: 'QApplicationPrivate::inputContext' > has incomplete type > ../../include/QtGui/../../src/gui/kernel/qapplication.h:77: warning: forward > declaration of 'struct QInputContext' > kernel/qapplication.cpp:5321: note: neither the destructor nor the > class-specific operator delete will be called, even if they are declared > when the class is defined. > kernel/qapplication.cpp:5323: error: invalid use of incomplete type 'struct > QInputContext' > ../../include/QtGui/../../src/gui/kernel/qapplication.h:77: error: forward > declaration of 'struct QInputContext' > kernel/qapplication.cpp: At global scope: > kernel/qapplication.cpp:5999: warning: unused parameter 'cshape' > make[1]: *** [.obj/release-shared-emb-auto/qapplication.o] Error 1 > make[1]: Leaving directory > `/home/nik/development/gumstix/tmp/work/armv7a-angstrom-linux-gnueabi/qt4-em > bedded-4.7.0-r25.1/qt-everywhere-opensource-src-4.7.0/src/gui' > make: *** [sub-gui-make_default] Error 2 > > -----Original Message----- > From: Pat Suwalski [mailto:pa...@su...] > Sent: Friday, November 26, 2010 5:52 PM > To: gum...@li... > Subject: Re: [Gumstix-users] QT4 Embedded build question > > Just how small do you need it? With the default recipe, my libqtcoree4 > package is 2.8M extracted. > > I know people here have been changing the recipe, but it's mostly things > like changing the input plugins to built-ins, and so on. > > --Pat > > On 10-11-26 05:16 PM, N Twerdochlib wrote: >> I have messages posted to the QtCentre forum. Moving to 4.7.0 does not > fix >> much. Does/is anyone compiling qt4 embedded under open embedded /gumstix >> and not using the canned recipe? >> >> It does not seem to make much diff if I use 4.6 or 4.7 either way I can > not >> get a small usable library. >> >> -----Original Message----- >> From: Pat Suwalski [mailto:pa...@su...] >> Sent: Friday, November 26, 2010 3:23 PM >> To: General mailing list for gumstix users. >> Subject: Re: [Gumstix-users] QT4 Embedded build question >> >> Sounds like something to ask on the Qt mailing list. You might like to >> try 4.7.0 first. >> >> --Pat >> >> On 10-11-26 03:17 PM, N Twerdochlib wrote: >>> I have modified the QT_CONFIG_FLAGS to basically include -qconfig >>> minimal and get the following compile error. This occurs if I try to >>> build the Qt 4.6.3 source under Ubuntu X86 as well. Thought maybe >>> someone here ran into this. >>> >>> | arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 >>> -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb -c >>> > -isystem/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnu >> eabi/usr/include >>> -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 >>> -ggdb2 -fpermissive -fvisibility-inlines-hidden >>> > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u >> sr/include > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u >> sr/include/freetype2 > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u >> sr/include/mysql > -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/u >> sr/include/postgresql >>> -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT >>> -fPIC -DQT_SHARED -DQT_BUILD_NETWORK_LIB -DQT_NO_USING_NAMESPACE >>> -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT >>> -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE >>> -I../../mkspecs/linux-g++ -I. -I../../include/QtCore -I../../include >>> -I../../include/QtNetwork -I.rcc/release-shared-emb-arm -Ikernel >>> -I.moc/release-shared-emb-arm -o >>> .obj/release-shared-emb-arm/qtcpserver.o socket/qtcpserver.cpp >>> >>> | access/qnetworkreplyimpl.cpp: In member function 'void >>> QNetworkReplyImplPrivate::setup(QNetworkAccessManager::Operation, const >>> QNetworkRequest&, QIODevice*)': >>> >>> | access/qnetworkreplyimpl.cpp:254: error: 'QNetworkAccessHttpBackend' >>> was not declared in this scope >>> >>> | access/qnetworkreplyimpl.cpp:254: error: parse error in template >>> argument list >>> >>> | access/qnetworkreplyimpl.cpp:254: error: no matching function for call >>> to 'qobject_cast(QNetworkAccessBackend*&)' >>> >>> | access/qnetworkreplyimpl.cpp: At global scope: >>> >>> | access/qnetworkreplyimpl.cpp:512: warning: unused parameter 'data' >>> >>> | make[1]: *** [.obj/release-shared-emb-arm/qnetworkreplyimpl.o] Error 1 >>> >>> | make[1]: *** Waiting for unfinished jobs.... >>> >>> | make[1]: Leaving directory >>> > `/home/nik/development/gumstix/tmp/work/armv7a-angstrom-linux-gnueabi/qt4-em >> bedded-4.6.3-r25.1/qt-everywhere-opensource-src-4.6.3/src/network' >>> | make: *** [sub-network-make_default-ordered] Error 2 >>> >>> | FATAL: oe_runmake failed >>> >>> NOTE: package qt4-embedded-4.6.3-r25.1: task do_compile: Failed >>> >>> ERROR: Function 'do_compile' failed (see >>> > /home/nik/development/gumstix/tmp/work/armv7a-angstrom-linux-gnueabi/qt4-emb >> edded-4.6.3-r25.1/temp/log.do_compile.31190 >>> for further information) >>> >>> It seems that the define QT_NO_HTTP is not correctly applied to all >>> source during the configure. >>> >>> *Nicholas Twerdochlib* >>> >>> *gcci-logo-small* >>> >>> *407-275-3549* >>> >>> *www.gcci.ca* >>> >>> >>> >>> > ---------------------------------------------------------------------------- >> -- >>> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >>> Tap into the largest installed PC base& get more eyes on your game by >>> optimizing for Intel(R) Graphics Technology. Get started today with the >>> Intel(R) Software Partner Program. Five $500 cash prizes are up for > grabs. >>> http://p.sf.net/sfu/intelisp-dev2dev >>> >>> >>> >>> _______________________________________________ >>> gumstix-users mailing list >>> gum...@li... >>> https://lists.sourceforge.net/lists/listinfo/gumstix-users >> >> > ---------------------------------------------------------------------------- >> -- >> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >> Tap into the largest installed PC base& get more eyes on your game by >> optimizing for Intel(R) Graphics Technology. Get started today with the >> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >> http://p.sf.net/sfu/intelisp-dev2dev >> _______________________________________________ >> gumstix-users mailing list >> gum...@li... >> https://lists.sourceforge.net/lists/listinfo/gumstix-users >> >> >> >> > ---------------------------------------------------------------------------- > -- >> Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! >> Tap into the largest installed PC base& get more eyes on your game by >> optimizing for Intel(R) Graphics Technology. Get started today with the >> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. >> http://p.sf.net/sfu/intelisp-dev2dev >> _______________________________________________ >> gumstix-users mailing list >> gum...@li... >> https://lists.sourceforge.net/lists/listinfo/gumstix-users > > ---------------------------------------------------------------------------- > -- > Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! > Tap into the largest installed PC base& get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! > Tap into the largest installed PC base& get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users |