LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Embedded & Single-board computer (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/)
-   -   Qt Cross Compilation Error (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/qt-cross-compilation-error-4175483735/)

sallu.salmankhalid 11-07-2013 08:11 AM

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

elucches 11-15-2013 06:53 AM

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
Don't pay attention to the details, I just pasted the command to show that there was no need to add compiler or linker flags.
Good luck.


All times are GMT -5. The time now is 10:47 AM.