I am building for a gumstix overo arm device. I will be using the NAND for the file system and need to get Qt down in size.
I have been trying to build with the following configure options:
./configure -embedded -opensource -release -nomake examples -nomake demos -nomake docs \
-no-gif -no-libtiff -no-multimedia -no-webkit \
-no-separate-debug-info \
-no-javascript-jit -no-script -no-scripttools -no-nis \
-no-feature-TESTHTMLPARSER \
-no-feature-TEXTODFWRITER \
-no-feature-DRAGANDDROP \
-no-feature-SHORTCUT \
-no-feature-CURSOR \
-no-feature-CLIPBOARD \
-no-feature-WHEELEVENT \
-no-feature-TABLETEVENT \
-no-feature-SOUND \
-no-feature-SHAREDMEMORY \
-no-feature-TEXTSTREAM \
-no-feature-TEMPORARYFILE \
-no-feature-SETTINGS \
-no-feature-FILESYSTEMMODEL \
-no-feature-TEXTBROWSER \
-no-feature-SPLITTER \
-no-feature-LCDNUMBER \
-no-feature-FONTCOMBOBOX \
-no-feature-TOOLBOX \
-no-feature-DOCKWIDGET \
-no-feature-WORKSPACE \
-no-feature-MDIAREA \
-no-feature-RESIZEHANDLER \
-no-feature-SYNTAXHIGHLIGHTER \
-no-feature-RUBBERBAND \
-no-feature-WHATSTHIS \
-no-feature-SIZEGRIP \
-no-feature-PRINTPREVIEWWIDGET \
-no-feature-COLORDIALOG \
-no-feature-FONTDIALOG \
-no-feature-PRINTPREVIEWDIALOG \
-no-feature-DIRMODEL \
-no-feature-PROXYMODEL \
-no-feature-SORTFILTERPROXYMODEL \
-no-feature-DATAWIDGETMAPPER \
-no-feature-STYLE_CDE \
-no-feature-STYLE_PLASTIQUE \
-no-feature-STYLE_WINDOWSXP \
-no-feature-STYLE_WINDOWSVISTA \
-no-feature-STYLE_CLEANLOOKS \
-no-feature-STYLE_WINDOWSCE \
-no-feature-STYLE_WINDOWSMOBILE \
-no-feature-MOVIE \
-no-feature-COMPLETER \
-no-feature-FSCOMPLETER \
-no-feature-DESKTOPSERVICES \
-no-feature-SYSTEMTRAYICON \
-no-feature-UNDOCOMMAND \
-no-feature-UNDOSTACK \
-no-feature-UNDOGROUP \
-no-feature-UNDOVIEW \
-no-feature-ACCESSIBILITY \
-no-feature-ANIMATION \
-no-feature-QWS_SOUNDSERVER \
-no-feature-QWS_CURSOR \
-no-feature-QWS_VNC \
-no-feature-PHONON_PLATFORMPLUGIN
But during the build I consistently keep getting the error:
| 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-gnueabi/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/usr/include -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/freetype2 -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/mysql -I/home/nik/development/gumstix/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/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 -DQT3_SUPPORT -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-auto -Ikernel -I.moc/release-shared-emb-auto -o .obj/release-shared-emb-auto/qtcpserver.o socket/qtcpserver.cpp
| access/qnetworkreplyimpl.cpp: In member function 'void QNetworkReplyImplPrivate::setup(QNetworkAccessMana ger::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-auto/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-embedded-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
What seems to happen is that QT_NO_HTTP gets defined somewhere which removes this class, but other code still relies on it.
I am working on tracking down where it gets set, but if anyone has any ideas I would love to hear them.
Thanks,
Nik
Added after 33 minutes:
I am retesting this using -embedded -release -opensource -qconfig minimal
If this works then I will just supply my on qconfig-project.h file.
Compiling with just -qconfig minimal under X86 has yeild the following compile errors:
g++ -c -include .pch/release-shared/QtCore -pipe -g -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DELF_INTERPRETER=\"/lib/ld-linux.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o .obj/release-shared/qiconvcodec.o codecs/qiconvcodec.cpp
In file included from codecs/qiconvcodec.cpp:42:
codecs/qiconvcodec_p.h:69: error: invalid use of incomplete type ‘struct QTextCodec’
../../include/QtCore/../../src/corelib/tools/qstring.h:85: error: forward declaration of ‘struct QTextCodec’
codecs/qiconvcodec_p.h:77: error: ‘ConverterState’ has not been declared
codecs/qiconvcodec_p.h:78: error: ‘ConverterState’ has not been declared
codecs/qiconvcodec.cpp: In constructor ‘QIconvCodec::QIconvCodec()’:
codecs/qiconvcodec.cpp:96: error: ‘codecForMib’ is not a member of ‘QTextCodec’
codecs/qiconvcodec.cpp: At global scope:
codecs/qiconvcodec.cpp:168: error: ‘ConverterState’ has not been declared
codecs/qiconvcodec.cpp: In member function ‘QString QIconvCodec::convertToUnicode(const char*, int, int*) const’:
codecs/qiconvcodec.cpp:180: error: request for member ‘d’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:181: error: request for member ‘d’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:183: error: request for member ‘remainingChars’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:187: error: request for member ‘flags’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:187: error: ‘FreeFunction’ was not declared in this scope
codecs/qiconvcodec.cpp:188: error: ‘QTextCodecUnalignedPointer’ has not been declared
codecs/qiconvcodec.cpp:188: error: request for member ‘state_data’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:287: error: ‘class QTextCodec’ has no member named ‘toUnicode’
codecs/qiconvcodec.cpp:290: error: request for member ‘invalidChars’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:291: error: request for member ‘remainingChars’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp: At global scope:
codecs/qiconvcodec.cpp:328: error: ‘ConverterState’ has not been declared
codecs/qiconvcodec.cpp: In member function ‘QByteArray QIconvCodec::convertFromUnicode(const QChar*, int, int*) const’:
codecs/qiconvcodec.cpp:383: error: request for member ‘remainingChars’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:388: error: request for member ‘state_data’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:393: error: request for member ‘remainingChars’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:402: error: request for member ‘remainingChars’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:403: error: request for member ‘state_data’ in ‘* convState’, which is of non-class type ‘int’
codecs/qiconvcodec.cpp:446: error: request for member ‘invalidChars’ in ‘* convState’, which is of non-class type ‘int’
make[1]: *** [.obj/release-shared/qiconvcodec.o] Error 1
make[1]: Leaving directory `/home/nik/development/qt-everywhere-opensource-src-4.6.3/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2
Just to be clear: I am running make confclean between config changes.
Bookmarks