Results 1 to 1 of 1

Thread: QT4 Embedded custom build issue

  1. #1
    Join Date
    Nov 2010
    Posts
    2
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Default Re: QT4 Embedded custom build issue

    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.
    Last edited by nikel; 26th November 2010 at 21:01.

Similar Threads

  1. QPainter issue in embedded system
    By dulan2010 in forum Qt Programming
    Replies: 0
    Last Post: 13th November 2010, 14:51
  2. Build QT Embedded Linux Ubuntu Error ?
    By Thành Viên Mới in forum Installation and Deployment
    Replies: 0
    Last Post: 4th November 2010, 05:15
  3. QWebkit Demo Build On Embedded System
    By Thành Viên Mới in forum Qt for Embedded and Mobile
    Replies: 0
    Last Post: 4th November 2010, 04:15
  4. Create Custom build specification for Qt 4.7 for my custom SDK
    By danics in forum Qt for Embedded and Mobile
    Replies: 0
    Last Post: 19th October 2010, 16:23
  5. Static build of Qt-embedded applications
    By cloud in forum Qt for Embedded and Mobile
    Replies: 1
    Last Post: 8th January 2010, 12:29

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.