Qt/Embedded - install issues
Hi,
I am trying to install Qt for cross compiling. I am using a toolkit (colibri-bsp-5.0-toolchain-1.0) from noser.com. I am trying for a PXA320 processor and the arm is a little-endian.
The configure and make works fine, but when i try to do a make install it exits with an error (check error log below). I also edited the qmake.conf file under "qt-embedded-linux-opensource-src-4.4.0/mkspecs/qws/linux-arm-g++", inside i have changed references from "linux-arm-g++" to "arm-linux-gnueabi", to make it compatible with the toolkit.
Configure options:
./configure -platform qws/linux-x86-g++ -xplatform qws/linux-arm-g++ -embedded arm -little-endian
Error log:
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_SHARED -I../../../../mkspecs/qws/linux-arm-g++ -I. -I../../../../include/QtCore -I../../../../include/QtCore -I../../../../include/QtNetwork -I../../../../include/QtNetwork -I../../../../include/QtGui -I../../../../include/QtGui -I../../../../include -I.moc/release-shared-emb-arm -I.uic/release-shared-emb-arm -I/usr/local/arm/oe/arm-linux-gnueabi/include -o .obj/release-shared-emb-arm/main.o main.cpp
arm-linux-gnueabi-g++ -fno-exceptions -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib -o t2 .obj/release-shared-emb-arm/main.o -L/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib -lQtNetwork -ldl -lQtCore -lm -lrt -lpthread
/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib/libQtCore.so: undefined reference to `_dl_hwcap'
/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib/libQtCore.so: undefined reference to `__dlsym'
/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib/libQtCore.so: undefined reference to `__dlopen'
/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib/libQtCore.so: undefined reference to `__dlclose'
/usr/local/Trolltech/QtEmbedded-4.4.0-arm/lib/libQtCore.so: undefined reference to `__dlerror'
collect2: ld returned 1 exit status
make: *** [t2] Error 1
Re: Qt/Embedded - install issues
Update:
I am actually trying to cross compile for linux-arm-g++
Re: Qt/Embedded - install issues
fyi. I am also using PXA320, and arm-linux-gnueabi toolchain. I did not have to change anything in the qws/linux-arm-g++ file. Here is my configuration ( left out some stuff you didn't need). I didn't need the xplatform option, nor the -platform option. I did try with the -xplatform option and it still worked. As I said I didn't need to modify my qmake.conf, and try not to use -platform option either. I am using Qt-embedded 4.4.1. Remember to make clean and try again.
./configure -embedded arm -prefix-install -little-endian
Re: Qt/Embedded - install issues
Hi, thank you for the reply.
I re-ran the configure like you had suggested, got stuck in make. Its says arm-linux-g++ command not found, i have mapped my toolchain bin path in my system but the bin folder only contains arm-linux-gnueabi-* files.
Couple of points I wanted to clarify:
(1) Did you compile Qt with "arm-linux-g++" or "arm-linux-gnueabi-g++" compiler?
(2) Previously, I did try to compile a small c printf program with "arm-linux-gxx" but could not run the executable on the target board (PXA320). The same program when compiled with "arm-linux-gnueabi-gxx" worked on the target board (PXA320). This was the reason why I changed my qmake.conf file, replaced all references from "arm-linux-gxx" to "arm-linux-gnueabi-gxx"
Note: I could successfully compile Qt with "arm-linux-gxx" but could not run the executables in the target board. The binary file was not compatable.
(3) When you configured Qt, did you have Glib support, my Qt configure mentions there is no Glib support. Not sure if it will make a difference.
(4) Could you send me your qmake.conf file, for reference purpose?
I have posted the error log below.
gmake[1]: Entering directory `/home/ajinkya/qt441/src/corelib'
arm-linux-g++ -c -pipe -fno-exceptions -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iconcurrent -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I.moc/release-shared-emb-arm -I.uic/release-shared-emb-arm -o .obj/release-shared-emb-arm/qatomic_arm.o arch/arm/qatomic_arm.cpp
gmake[1]: arm-linux-g++: Command not found
gmake[1]: *** [.obj/release-shared-emb-arm/qatomic_arm.o] Error 127
gmake[1]: Leaving directory `/home/ajinkya/qt441/src/corelib'
gmake: *** [sub-corelib-sub_src_target_ordered] Error 2
1 Attachment(s)
Re: Qt/Embedded - install issues
1) arm-iwmmxt-gnueabi-gcc
3) No Glib support
4) Attached. No changes made from original file.
I am using arm linux 4.4.1
Re: Qt/Embedded - install issues
Hi QbelcorT,
Thank you for your quick replies. I finally managed to compile Qt and run the applications on my PXA320 board. The toolchain I bought from noser.com was broken, that was what was causing the error during "make".
Re: Qt/Embedded - install issues
hi,guys,I am trying to install Qt for cross compiling.And I face the error imformation:
arm-linux-g++ -c -pipe -fno-exceptions -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iconcurrent -Iglobal -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -I.moc/release-shared-emb-arm -I.uic/release-shared-emb-arm -o .obj/release-shared-emb-arm/qatomic_arm.o arch/arm/qatomic_arm.cpp
gmake[1]: arm-linux-g++: Command not found
gmake[1]: *** [.obj/release-shared-emb-arm/qatomic_arm.o] Error 127
gmake[1]: Leaving directory `/home/ajinkya/qt441/src/corelib'
gmake: *** [sub-corelib-sub_src_target_ordered] Error 2
And now I have solved it,so I want to share with you~
Yes,you should change qmake.conf:
$ cd /usr/local/qt/qt-embedded-linux-opensource-src-4.4.3-arm/mkspecs/qws/linux-arm-g++
$ vim qmake.conf
Change:
#QMAKE_CC = arm-linux-gcc#QMAKE_CXX = arm-linux-g++#QMAKE_LINK = arm-linux-g++#QMAKE_LINK_SHLIB = arm-linux-g++
To:
QMAKE_CC = /opt/buildroot-2011.11/arm920t/usr/bin/arm-unknown-linux-uclibcgnueabi-gccQMAKE_CXX = /opt/buildroot-2011.11/arm920t/usr/bin/arm-unknown-linux-uclibcgnueabi-g++QMAKE_LINK = /opt/buildroot-2011.11/arm920t/usr/bin/arm-unknown-linux-uclibcgnueabi-g++QMAKE_LINK_SHLIB = /opt/buildroot-2011.11/arm920t/usr/bin/arm-unknown-linux-uclibcgnueabi-g++
save it,and gmake or make again!