Qt Cross Compilation Error
Hi,
I am trying to cross compile Qt embedded for my Pandaboard but got stuck. I am stuck at this error for about a two days cant figure out. I am using Angstrom Distribution of Linux, image obtained using Narcissus online image builder which also come with entire SDK and toolchain. my ./configure is ./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -v -no-gfx-qvfb -no-glib -no-gtkstyle -no-pch -depths all -qt-mouse-linuxinput -qt-mouse-pc -qt-kbd-linuxinput -no-mouse-tslib -no-webkit -no-audio-backend -L/home/salman/PandaBoard_OpenCV_CrossQT/Toolchain_Angstrom/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/lib -L/home/salman/PandaBoard_OpenCV_CrossQT/Toolchain_Angstrom/usr/local/angstrom/arm/lib -L/home/salman/PandaBoard_OpenCV_CrossQT/Toolchain_Angstrom/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib -I/home/salman/PandaBoard_OpenCV_CrossQT/Toolchain_Angstrom/usr/local/angstrom/arm/include -I/home/salman/PandaBoard_OpenCV_CrossQT/Toolchain_Angstrom/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include -L/home/salman/PandaBoard_OpenCV_CrossQT/Target_Image/lib -L/home/salman/PandaBoard_OpenCV_CrossQT/Target_Image/usr/lib -I/home/salman/PandaBoard_OpenCV_CrossQT/Target_Image/usr/include Note the -L and -I all possible paths to libraries and headers I can think of. The error after make command is cd src/tools/bootstrap/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/bootstrap' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/bootstrap' cd src/tools/moc/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/moc' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/moc' cd src/tools/rcc/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/rcc' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/rcc' cd src/tools/uic/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/uic' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/tools/uic' cd src/corelib/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/corelib' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/corelib' cd src/xml/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/xml' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/xml' cd src/network/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/network' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/network' cd src/sql/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/sql' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/sql' cd src/testlib/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/testlib' make[1]: Nothing to be done for `first'. make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/testlib' cd src/gui/ && make -f Makefile make[1]: Entering directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/gui' arm-angstrom-linux-gnueabi-g++ -c -pipe -I/home/salman/PandaBoard_OpenCV_CrossQT/Toolchain_Angstrom/usr/local/angstrom/arm/include -I/home/salman/PandaBoard_OpenCV_CrossQT/Toolchain_Angstrom/usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include -I/home/salman/PandaBoard_OpenCV_CrossQT/Target_Image/usr/include -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_NO_FONTCONFIG -DFT2_BUILD_LIBRARY -DFT_CONFIG_OPTION_SYSTEM_ZLIB -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/qws/linux-arm-gnueabi-g++ -I. -I../../include/QtCore -I../../include/QtNetwork -I../../include -I../../include/QtGui -I.rcc/release-shared-emb-arm -Iimage -I../3rdparty/freetype/builds/unix -I../3rdparty/freetype/src -I../3rdparty/freetype/include -I../3rdparty/harfbuzz/src -Idialogs -I.moc/release-shared-emb-arm -I.uic/release-shared-emb-arm -I/home/salman/PandaBoard_OpenCV_CrossQT/Target_Image/usr/include -I/home/salman/PandaBoard_OpenCV_CrossQT/Target_Image/usr/lib -o .obj/release-shared-emb-arm/qsoundqss_qws.o embedded/qsoundqss_qws.cpp embedded/qsoundqss_qws.cpp:72: error: declaration of 'int* __errno_location()' throws different exceptions /home/salman/PandaBoard_OpenCV_CrossQT/Target_Image/usr/include/bits/errno.h:43: error: from previous declaration 'int* __errno_location() throw ()' make[1]: *** [.obj/release-shared-emb-arm/qsoundqss_qws.o] Error 1 make[1]: Leaving directory `/home/salman/PandaBoard_OpenCV_CrossQT/qt-everywhere-opensource-src-4.8.5/src/gui' make: *** [sub-gui-make_default-ordered] Error 2 Please help I am stuck Regards |
If the toolchain is properly installed you don't need to pass all those -L and -I options.
For example, I used -xplatform qws/linux-arm-g++ and so I edited mkspecs/qws/linux-arm-g++/qmake.conf to specify some special flags (mostly the location of tslib) and then configured with Code:
./configure -prefix /usr/local/Trolltech/Qt-4.8.5-arm -release -opensource -shared -no-fast -no-largefile -exceptions -accessibility -stl -qt-sql-sqlite -no-qt3support -xmlpatterns -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -svg -webkit -javascript-jit -script -scripttools -declarative -no-declarative-debug -platform qws/linux-x86-g++ -qt-zlib -no-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-openssl -no-rpath -verbose -optimized-qmake -no-nis -no-cups -iconv -pch -no-dbus -no-separate-debug-info -embedded arm -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -no-opengl -qt-gfx-linuxfb -qt-kbd-tty -qt-kbd-qvfb -plugin-kbd-linuxinput -qt-mouse-tslib -no-glib Good luck. |
All times are GMT -5. The time now is 10:47 AM. |