I am trying to compile Qt to use it with tslib and PetaLinux to be used on Xilinx Zynq development board (per http://blog.idv-tech.com/2014/10/15/...m-xilinx-zynq/)
However, after I run configuration and then run gmake, it error out on compilation of moc tool.
Here are configuration options which I used before making Qt.
export ZYNQ_QT_BUILD=/home/adzh/Projects
export ZYNQ_QT_INSTALL=/opt/Qt_Xilinx/5.6
export PATH=$ZYNQ_QT_INSTALL/bin:$PATH
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
source ~/opt/Xilinx/Vivado/2015.2/settings64.sh
./configure -prefix $ZYNQ_QT_INSTALL \
-device linux-arm-xilinx-zynq-g++ \
-device-option CROSS_COMPILE=arm-xilinx-linux-gnueabi- \
-release \
-confirm-license \
-opensource \
-optimized-qmake \
-no-qml-debug \
-qt-zlib \
-qt-libpng \
-qt-libjpeg \
-qt-freetype \
-qt-harfbuzz \
-qt-pcre \
-no-xcb \
-qt-xkbcommon \
-no-opengl \
-no-pch \
-verbose \
-no-kms \
-no-eglfs \
-no-icu \
-no-iconv \
-skip qtwebkit \
-tslib \
-no-gcc-sysroot \
-nomake tools \
-no-compile-examples \
-I /opt/tslib/include \
-L /opt/tslib/lib
export ZYNQ_QT_BUILD=/home/adzh/Projects
export ZYNQ_QT_INSTALL=/opt/Qt_Xilinx/5.6
export PATH=$ZYNQ_QT_INSTALL/bin:$PATH
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
source ~/opt/Xilinx/Vivado/2015.2/settings64.sh
./configure -prefix $ZYNQ_QT_INSTALL \
-device linux-arm-xilinx-zynq-g++ \
-device-option CROSS_COMPILE=arm-xilinx-linux-gnueabi- \
-release \
-confirm-license \
-opensource \
-optimized-qmake \
-no-qml-debug \
-qt-zlib \
-qt-libpng \
-qt-libjpeg \
-qt-freetype \
-qt-harfbuzz \
-qt-pcre \
-no-xcb \
-qt-xkbcommon \
-no-opengl \
-no-pch \
-verbose \
-no-kms \
-no-eglfs \
-no-icu \
-no-iconv \
-skip qtwebkit \
-tslib \
-no-gcc-sysroot \
-nomake tools \
-no-compile-examples \
-I /opt/tslib/include \
-L /opt/tslib/lib
To copy to clipboard, switch view to plain text mode
Here is the first error I received when making Qt, on moc tool:
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
.obj/moc.o: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
gmake[3]: *** [../../../bin/moc] Error 1
gmake[3]: Leaving directory `/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/tools/moc'
gmake[2]: *** [sub-moc-make_first] Error 2
gmake[2]: Leaving directory `/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src'
gmake[1]: *** [sub-src-make_first] Error 2
gmake[1]: Leaving directory `/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase'
gmake: *** [module-qtbase-make_first] Error 2
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: .obj/moc.o: Relocations in generic ELF (EM: 40)
.obj/moc.o: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
gmake[3]: *** [../../../bin/moc] Error 1
gmake[3]: Leaving directory `/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/tools/moc'
gmake[2]: *** [sub-moc-make_first] Error 2
gmake[2]: Leaving directory `/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src'
gmake[1]: *** [sub-src-make_first] Error 2
gmake[1]: Leaving directory `/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase'
gmake: *** [module-qtbase-make_first] Error 2
To copy to clipboard, switch view to plain text mode
The most recent command which generates the error is (using x86_64 g++):
g++ -Wl,--gc-sections -Wl,-O1 -o ../../../bin/moc .obj/moc.o .obj/preprocessor.o .obj/generator.o .obj/parser.o .obj/token.o .obj/main.o -L/opt/tslib/lib -L/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/lib -lQt5Bootstrap -lpthread
g++ -Wl,--gc-sections -Wl,-O1 -o ../../../bin/moc .obj/moc.o .obj/preprocessor.o .obj/generator.o .obj/parser.o .obj/token.o .obj/main.o -L/opt/tslib/lib -L/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/lib -lQt5Bootstrap -lpthread
To copy to clipboard, switch view to plain text mode
which uses g++ instead of
/home/adzh/opt/PetaLinux/petalinux-v2015.2.1-final/tools/linux-i386/arm-xilinx-linux-gnueabi/bin/arm-xilinx-linux-gnueabi-g++
/home/adzh/opt/PetaLinux/petalinux-v2015.2.1-final/tools/linux-i386/arm-xilinx-linux-gnueabi/bin/arm-xilinx-linux-gnueabi-g++
To copy to clipboard, switch view to plain text mode
When I got to directory of moc tools (qtbase/src/tools/moc), I find that the LINK in make file is g++ instead of arm-xilinx-linux-gnueabi-g++. If I change it to arm-xilinx-linux-gnueabi-g++ and to gmake from same directory it compiles without problems.
When I go back to root of Qt source code and run gmake again, it compiles until it has the same error with rcc tools. I go to rcc directory and perform the same fix of changing LINK line from g++ to arm-xilinx-linux-gnueabi-g++. Finally, when I go back to root directory one more time and run gmake, it gives me final error which I am not sure how to fix. The final error is with compilation of corelibs.
Commands executed and error:
/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/bin/moc -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_LIBINPUT -DQT_NO_USING_NAMESPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/devices/linux-arm-xilinx-zynq-g++ -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/zlib -I/opt/tslib/include -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/5.6.0 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/5.6.0/QtCore -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/global -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/pcre -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/harfbuzz/src -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/md5 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/md4 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/sha3 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/forkfd -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/c++/4.9.1 -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/c++/4.9.1/arm-xilinx-linux-gnueabi -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/c++/4.9.1/backward -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/lib/gcc/arm-xilinx-linux-gnueabi/4.9.1/include -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/lib/gcc/arm-xilinx-linux-gnueabi/4.9.1/include-fixed -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/libc/usr/include animation/qabstractanimation.h -o .moc/moc_qabstractanimation.cpp
/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/bin/moc: 1: /home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/bin/moc: Syntax error: word unexpected (expecting ")")
make: *** [.moc/moc_qabstractanimation.cpp] Error 2
/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/bin/moc -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_LIBINPUT -DQT_NO_USING_NAMESPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/devices/linux-arm-xilinx-zynq-g++ -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/zlib -I/opt/tslib/include -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/5.6.0 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/5.6.0/QtCore -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/global -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/pcre -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/harfbuzz/src -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/md5 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/md4 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/sha3 -I/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/src/3rdparty/forkfd -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/c++/4.9.1 -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/c++/4.9.1/arm-xilinx-linux-gnueabi -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include/c++/4.9.1/backward -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/lib/gcc/arm-xilinx-linux-gnueabi/4.9.1/include -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/lib/gcc/arm-xilinx-linux-gnueabi/4.9.1/include-fixed -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/include -I/home/adzh/opt/Xilinx/SDK/2015.2/gnu/arm/lin/arm-xilinx-linux-gnueabi/libc/usr/include animation/qabstractanimation.h -o .moc/moc_qabstractanimation.cpp
/home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/bin/moc: 1: /home/adzh/Projects/qt-everywhere-opensource-src-5.6.0/qtbase/bin/moc: Syntax error: word unexpected (expecting ")")
make: *** [.moc/moc_qabstractanimation.cpp] Error 2
To copy to clipboard, switch view to plain text mode
I am guess it is possible that last command expect a x86_64 moc binary instead of ARM moc binary. If that true, how can I fix the first error with ".obj/moc.o: error adding symbols: File in wrong format".
Does anyone know how I can fix this?
Bookmarks