QT build - cross compilation error
Hello
when Iḿ trying to build QT (cross compilation) I have error with message:
typing: ./configure -opensource -confirm-license -prefix /opt/qt-arm -no-qt3support -embedded arm -little-endian -xplatform qws/linux-arm-ti3517 -qtlibinfix E
and when i type ¨make¨ error occurs:
g++: error trying to exec 'cc1plus': execvp: No such file or directory
Assembler messages:
Fatal error: Invalid -march= option: `armv5te'
make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 1
make[1]: Leaving directory `/home/user/qt-everywhere-opensource-src-4.7.3/src/corelib'
make: *** [sub-corelib-make_default-ordered] Error 2
ma qmake.conf file:
#
# qmake configuration for building with arm-linux-g++
#
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
# modifications to g++.conf
#Compiler Flags to take advantage of the ARM architecture
#QMAKE_CFLAGS_RELEASE = -g -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
#QMAKE_CXXFLAGS_RELEASE = -g -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CC = /home/user/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin/gcc
QMAKE_CXX = /home/user/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin/g++
QMAKE_LINK = /home/user/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin/g++
QMAKE_LINK_SHLIB = /home/user/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin/g++
# modifications to linux.conf
QMAKE_AR = /home/user/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin/ar cqs
QMAKE_OBJCOPY = /home/user/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin/objcopy
QMAKE_STRIP = /home/user/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin/strip
load(qt_config)
Sourcery G++ Lite 2011.03-41
QT version: 4.7.3
Ubunt 10.10 on VMware
Re: QT build - cross compilation error
I have problems with building Qt for embedded too:/
makespecs/qws/linux-arm-g++ looks like this:
include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabi-gcc
QMAKE_CXX = arm-linux-gnueabi-g++
QMAKE_LINK = arm-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy
QMAKE_STRIP = arm-linux-gnueabi-strip
load(qt_config)
my configure line is:
./configure -embedded arm -shared -release -no-largefile -qt-sql-sqlite -no-qt3support -no-phonon -no-svg -no-scripttools -nomake demo -nomake examples -qt-decoration-default -no-opengl -qt-gfx-linuxfb -little-endian
after configure I'm using 'make' and after a while I have this issue:
arm-linux-gnueabi-g++ -Wl,-rpath-link,/home/ryba/qt-everywhere-opensource-src-4.7.3/lib -fno-exceptions -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib -o ../../../bin/lrelease .obj/release-shared-emb-arm/main.o .obj/release-shared-emb-arm/qlibraryinfo.o .obj/release-shared-emb-arm/qsettings.o .obj/release-shared-emb-arm/numerus.o .obj/release-shared-emb-arm/translator.o .obj/release-shared-emb-arm/translatormessage.o .obj/release-shared-emb-arm/qm.o .obj/release-shared-emb-arm/qph.o .obj/release-shared-emb-arm/po.o .obj/release-shared-emb-arm/ts.o .obj/release-shared-emb-arm/xliff.o .obj/release-shared-emb-arm/proitems.o .obj/release-shared-emb-arm/profileevaluator.o -L/home/ryba/qt-everywhere-opensource-src-4.7.3/src/tools/bootstrap -lbootstrap
/usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/bin/ld: cannot find -lbootstrap
collect2: ld returned 1 exit status
make[1]: *** [../../../bin/lrelease] Error 1
make[1]: Leaving directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'
make: *** [sub-tools-linguist-lrelease-make_default-ordered] Error 2
root@ryba-VirtualBox:/home/ryba/qt-everywhere-opensource-src-4.7.3#
thanks for Your help
Re: QT build - cross compilation error
Is this the result of configure or make? Did configure build the bootstrap library for you?
I would suggest disabling build of the tools, it's very unlikely you'll ever need Assistant for the embedded system.
Re: QT build - cross compilation error
thanks for a quick reply. This is a result of make. 'find' command doesn't see any *bootstrap* files except source ones. ' -nomake tools' added but this issue still occurs
ps. this problem occurs on my old Ubuntu 10.04 and fresh installed Ubuntu 11.04...
Re: QT build - cross compilation error
At the same place? Hardly possible if you disabled the tools. Did you run make clean? The bootstrap library is in src/tools/bootstrap and is called libbootstrap.a.
Re: QT build - cross compilation error
yes, it occurs in the same moment and I've made 'make clean' before reruning 'configure' and 'make' commands.
find of bootstrap looks like this:
root@ryba-VirtualBox:/# find -name *bootstrap*
./var/log/bootstrap.log
./home/ryba/qt-everywhere-opensource-src-4.7.3/src/corelib/arch/qatomic_bootstrap.h
./home/ryba/qt-everywhere-opensource-src-4.7.3/src/tools/bootstrap
./home/ryba/qt-everywhere-opensource-src-4.7.3/src/tools/bootstrap/bootstrap.pri
./home/ryba/qt-everywhere-opensource-src-4.7.3/src/tools/bootstrap/bootstrap.pro
./home/ryba/qt-everywhere-opensource-src-4.7.3/include/QtCore/qatomic_bootstrap.h
./home/ryba/qt-everywhere-opensource-src-4.7.3/include/Qt/qatomic_bootstrap.h
./home/ryba/qt-everywhere-opensource-src-4.7.3/tools/qtestlib/wince/cetest/bootstrapped.pri
./usr/share/perl/5.10.1/ExtUtils/Mkbootstrap.pm
./usr/lib/libreoffice/program/bootstraprc
./usr/lib/libreoffice/basis3.3/program/libmozbootstrap.so
./usr/lib/ure/lib/bootstrap.uno.so
./lib/firmware/dsp56k/bootstrap.asm
./lib/firmware/dsp56k/bootstrap.bin
root@ryba-VirtualBox:/#
ps.some files was computed before this issue. e.g qmake was built
Re: QT build - cross compilation error
So adding -nomake tools doesn't prevent the compilation from building tools?
Re: QT build - cross compilation error
apparently not because I compared this error message with the previous one and it is exactly the same message
I removed all sources dir and extracted it again. configure with command:
./configure -embedded arm -shared -release -no-largefile -qt-sql-sqlite -no-qt3support -no-phonon -no-svg -no-scripttools -nomake demo -nomake examples -nomake tools -qt-decoration-default -no-opengl -qt-gfx-linuxfb -little-endian
,after that 'make' and tools are built...
I don't want to give up but I have no idea what is wrong...all forums, websites etc. shows excatly the same procedure
Re: QT build - cross compilation error
Run make distclean, make confclean, then run configure again and before running make check what got built. Also somewhere during its output configure should output a log of enabled and disabled features, please post it here.
Re: QT build - cross compilation error
'make confclean' can't be found so I removed entire dir and extracted sources again.
after 'configure' command I have this output:
root@ryba-VirtualBox:/home/ryba/qt-everywhere-opensource-src-4.7.3# ./configure -embedded arm -shared -release -no-largefile -qt-sql-sqlite -no-qt3support -no-phonon -no-svg -no-scripttools -nomake demo -nomake examples -nomake tools -qt-decoration-default -no-opengl -qt-gfx-linuxfb -little-endian
Which edition of Qt do you want to use ?
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
o
You have not explicitly asked to use pkg-config and are cross-compiling.
pkg-config will not be used to automatically query cflag/lib parameters for
dependencies
This is the Qt for Embedded Linux Open Source Edition.
You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 3.
Type '3' to view the GNU General Public License version 3.
Type 'L' to view the Lesser GNU General Public License version 2.1.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.
Do you accept the terms of either license? yes
Creating qmake. Please wait...
make: Nothing to be done for `first'.
rm -f endiantest.o
rm -f *~ core *.core
rm -f endiantest
rm -f Makefile
Building on: qws/linux-x86-g++
Building for: qws/linux-arm-g++
Architecture: arm
Host architecture: i386
Build .................. libss docs translations
Configuration .......... cross_compile release shared dll embedded stl precompile_header neon exceptions_off minimal-config small-config medium-config large-config full-config accessibility embedded reduce_exports ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify png freetype zlib nis multimedia audio-backend script declarative release
Debug .................. no
Qt 3 compatibility ..... no
QtDBus module .......... no
QtConcurrent code ...... yes
QtGui module ........... yes
QtScript module ........ yes
QtScriptTools module ... no
QtXmlPatterns module ... no
Phonon module .......... no
Multimedia module ...... auto
SVG module ............. no
WebKit module .......... yes
JavaScriptCore JIT ..... To be decided by JavaScriptCore
Declarative module ..... yes
Declarative debugging ...yes
Support for S60 ........ no
Symbian DEF files ...... no
STL support ............ yes
PCH support ............ yes
MMX/3DNOW/SSE/SSE2/SSE3. no/no/no/no/no
SSSE3/SSE4.1/SSE4.2..... no/no/no
AVX..................... no
iWMMXt support ......... no
NEON support ........... yes
IPv6 support ........... yes
IPv6 ifname support .... yes
getaddrinfo support .... yes
getifaddrs support ..... yes
Accessibility .......... yes
NIS support ............ yes
CUPS support ........... no
Iconv support .......... no
Glib support ........... no
GStreamer support ...... no
PulseAudio support ..... no
Large File support ..... no
GIF support ............ plugin
TIFF support ........... plugin (qt)
JPEG support ........... plugin (qt)
PNG support ............ yes (qt)
MNG support ............ plugin (qt)
zlib support ........... yes
Session management ..... no
Embedded support ....... arm
Freetype2 support ...... auto (yes)
Graphics (qt) .......... linuxfb multiscreen linuxfb
Graphics (plugin) ......
Decorations (qt) ....... styled windows default default
Decorations (plugin) ...
Keyboard driver (qt) ... tty
Keyboard driver (plugin) ..
Mouse driver (qt) ...... pc linuxtp
Mouse driver (plugin) ..
OpenGL support ......... no
OpenVG support ......... no
SQLite support ......... qt (qt)
OpenSSL support ........ no
Alsa support ........... no
ICD support ............ no
Finding project files. Please wait...
Project MESSAGE: Unknown PROJECT: libss
Reading /home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease/lrelease.pro
Reading /home/ryba/qt-everywhere-opensource-src-4.7.3/translations/translations.pro
Project MESSAGE: Unknown PROJECT: libss
893 projects found.
Creating makefiles. Please wait...
for /home/ryba/qt-everywhere-opensource-src-4.7.3/translations/translations.pro
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /usr/local/Trolltech/QtEmbedded-4.7.3-arm
To reconfigure, run 'make confclean' and 'configure'.
root@ryba-VirtualBox:/home/ryba/qt-everywhere-opensource-src-4.7.3#
(sorry, I had to split this post due to chars limitation in one post)
and after 'make':
root@ryba-VirtualBox:/home/ryba/qt-everywhere-opensource-src-4.7.3# make
cd tools/linguist/lrelease/ && /home/ryba/qt-everywhere-opensource-src-4.7.3/bin/qmake /home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease/lrelease.pro -spec ../../../mkspecs/qws/linux-arm-g++ -o Makefile
cd tools/linguist/lrelease/ && make -f Makefile
make[1]: Entering directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/main.o main.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/qlibraryinfo.o ../../../src/corelib/global/qlibraryinfo.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/qsettings.o ../../../src/corelib/io/qsettings.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/numerus.o ../shared/numerus.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/translator.o ../shared/translator.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/translatormessage.o ../shared/translatormessage.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/qm.o ../shared/qm.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/qph.o ../shared/qph.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/po.o ../shared/po.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/ts.o ../shared/ts.cpp
(last part)
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/xliff.o ../shared/xliff.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/proitems.o ../shared/proitems.cpp
arm-linux-gnueabi-g++ -c -pipe -fno-exceptions -O2 -Wall -W -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_TEXTCODEC -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -I../../../mkspecs/qws/linux-arm-g++ -I. -I../../../src/corelib/global -I../../../include -I../../../include/QtCore -I../../../include/QtXml -I../../../src/xml -I../shared -o .obj/release-shared-emb-arm/profileevaluator.o ../shared/profileevaluator.cpp
../shared/profileevaluator.cpp: In member function ‘QStringList ProFileEvaluator::Private::evaluateExpandFunction( const QString&, const QString&)’:
../shared/profileevaluator.cpp:1714:9: warning: case value ‘0’ not in enumerated type ‘ProFileEvaluator::Private::evaluateExpandFu nction(const QString&, const QString&)::ExpandFunc’
../shared/profileevaluator.cpp: In member function ‘ProItem::ProItemReturn ProFileEvaluator::Private::evaluateConditionalFunc tion(const QString&, const QString&)’:
../shared/profileevaluator.cpp:2241:9: warning: case value ‘0’ not in enumerated type ‘ProFileEvaluator::Private::evaluateConditio nalFunction(const QString&, const QString&)::TestFunc’
arm-linux-gnueabi-g++ -Wl,-rpath-link,/home/ryba/qt-everywhere-opensource-src-4.7.3/lib -fno-exceptions -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib -o ../../../bin/lrelease .obj/release-shared-emb-arm/main.o .obj/release-shared-emb-arm/qlibraryinfo.o .obj/release-shared-emb-arm/qsettings.o .obj/release-shared-emb-arm/numerus.o .obj/release-shared-emb-arm/translator.o .obj/release-shared-emb-arm/translatormessage.o .obj/release-shared-emb-arm/qm.o .obj/release-shared-emb-arm/qph.o .obj/release-shared-emb-arm/po.o .obj/release-shared-emb-arm/ts.o .obj/release-shared-emb-arm/xliff.o .obj/release-shared-emb-arm/proitems.o .obj/release-shared-emb-arm/profileevaluator.o -L/home/ryba/qt-everywhere-opensource-src-4.7.3/src/tools/bootstrap -lbootstrap
/usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/bin/ld: cannot find -lbootstrap
collect2: ld returned 1 exit status
make[1]: *** [../../../bin/lrelease] Error 1
make[1]: Leaving directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'
make: *** [sub-tools-linguist-lrelease-make_default-ordered] Error 2
Thats weird...configure says 'tools module = no' and first line of 'make' is "make[1]: Entering directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'"
Added after 8 minutes:
sorry for the post under post but I can't edit the previous one (it seems like it merged my 3 previous posts and I can't edit it due to 'chars' limitations). I need these libs for console applications only. I wrote some applications in raw C++ and copmiled it for Android. It works great but with my experience in Qt programming I could write application that I want in no time compared to raw C++
Re: QT build - cross compilation error
It's ok that lrelease is being built, now that I think of it. The real question is why bootstrap didn't build. What if you cd to its directory and call make there? Did configure create a Makefile in that directory?
Re: QT build - cross compilation error
in bootstrap dir I have only two files:
-rw-r--r-- 1 ryba ryba 2215 2011-03-30 07:19 bootstrap.pri
-rw-r--r-- 1 ryba ryba 3875 2011-03-30 07:19 bootstrap.pro
no Makefile here...
make for bootstrap.pro says
"make: Nothing to be done for `bootstrap."
Re: QT build - cross compilation error
That's odd... Unless embedded doesn't require bootstrap but then it wouldn't be asking for it. What if you call qmake && make in this directory?
Re: QT build - cross compilation error
:) bootstrap has been built but 'make' in qt-embedded-sources directory gives me the other problem...:
root@ryba-VirtualBox:/home/ryba/qt-everywhere-opensource-src-4.7.3# make
cd tools/linguist/lrelease/ && make -f Makefile
make[1]: Entering directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'
arm-linux-gnueabi-g++ -Wl,-rpath-link,/home/ryba/qt-everywhere-opensource-src-4.7.3/lib -fno-exceptions -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.3-arm/lib -o ../../../bin/lrelease .obj/release-shared-emb-arm/main.o .obj/release-shared-emb-arm/qlibraryinfo.o .obj/release-shared-emb-arm/qsettings.o .obj/release-shared-emb-arm/numerus.o .obj/release-shared-emb-arm/translator.o .obj/release-shared-emb-arm/translatormessage.o .obj/release-shared-emb-arm/qm.o .obj/release-shared-emb-arm/qph.o .obj/release-shared-emb-arm/po.o .obj/release-shared-emb-arm/ts.o .obj/release-shared-emb-arm/xliff.o .obj/release-shared-emb-arm/proitems.o .obj/release-shared-emb-arm/profileevaluator.o -L/home/ryba/qt-everywhere-opensource-src-4.7.3/src/tools/bootstrap -lbootstrap
/usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/bin/ld: warning: libc.so, needed by /usr/lib/gcc/arm-linux-gnueabi/4.5.2/libgcc_s.so.1, not found (try using -rpath or -rpath-link)
make[1]: Leaving directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'
cd translations/ && make -f Makefile
make[1]: Entering directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/translations'
/home/ryba/qt-everywhere-opensource-src-4.7.3/bin/lrelease assistant_cs.ts -qm assistant_cs.qm
/home/ryba/qt-everywhere-opensource-src-4.7.3/bin/lrelease: 1: Syntax error: word unexpected (expecting ")")
make[1]: *** [assistant_cs.qm] Error 2
make[1]: Leaving directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/translations'
make: *** [sub-translations-make_default-ordered] Error 2
edit:
I'm installing Debian and downloading qt sources again to exclude Ubuntu and sources md5 fault (but I think if md5 would be bad then sources couldn't be extracted). can I get sources package md5 from Qt site? I can't find it...
Re: QT build - cross compilation error
Do you have the necessary cross-compiler execution environment installed? It seems you're missing libc for arm.
Re: QT build - cross compilation error
Yes I have installed it. find of 'libc.so' gives me:
root@ryba-VirtualBox:/# find -name libc.so
./root/CodeSourcery/arm-none-linux-gnueabi/libc/thumb2/usr/lib/libc.so
./root/CodeSourcery/arm-none-linux-gnueabi/libc/armv4t/usr/lib/libc.so
./root/CodeSourcery/arm-none-linux-gnueabi/libc/usr/lib/libc.so
./usr/arm-linux-gnueabi/lib/libc.so
./usr/lib/i386-linux-gnu/libc.so
root@ryba-VirtualBox:/#
ps. I'm using arm-linux-gnueabi. not arm-none*
edit:
hmmm strange...running 'make' again it gives me something new:
root@ryba-VirtualBox:/home/ryba/qt-everywhere-opensource-src-4.7.3# make
cd tools/linguist/lrelease/ && make -f Makefile
make[1]: Entering directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'
make[1]: Nothing to be done for `first'.
make[1]: Leaving directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/tools/linguist/lrelease'
cd translations/ && make -f Makefile
make[1]: Entering directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/translations'
/home/ryba/qt-everywhere-opensource-src-4.7.3/bin/lrelease assistant_cs.ts -qm assistant_cs.qm
/home/ryba/qt-everywhere-opensource-src-4.7.3/bin/lrelease: /home/ryba/qt-everywhere-opensource-src-4.7.3/bin/lrelease: cannot execute binary file
make[1]: *** [assistant_cs.qm] Error 126
make[1]: Leaving directory `/home/ryba/qt-everywhere-opensource-src-4.7.3/translations'
make: *** [sub-translations-make_default-ordered] Error 2
root@ryba-VirtualBox:/home/ryba/qt-everywhere-opensource-src-4.7.3#
edit:
building sources from scratch with arm-none-linux-gnueabi-g++ gives me exact same error
one more edit:
if it helps:
root@ryba-VirtualBox:/home/ryba/qt-sources/bin# file ./lrelease
./lrelease: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
it seems that ./lrelease was built for arm and 'make' wants to execute it(?)
Re: QT build - cross compilation error
You have the execution environment installed in /root and you are compiling in your user's directory. What's the point of that? Are you able to build any project using your cross-compiler (even as simple as int main() { return 0; }?)
lrelease should be built for x86 and not arm.
Re: QT build - cross compilation error
I'm compiling as root so I think it is not important where is my execution environment. isn't it? I can compile apps in my /home/user dir with arm-none-linux-gnueabi-g++. static and dynamic but dynamic doesn't work on my Android due to missing libraries(I think). sorry but I'm not a compilation guru. I was always using Qt Creator or the other GUI to compile applications so I'm noobie with this.
If lrelease should be built for x86 then why 'make' built it for arm? What do You suggest? give up or keep trying?
Re: QT build - cross compilation error
I have no experience with building Qt for ARM so I can't be certain of what I say. However you shouldn't need to be building bootstrap manually and this is the first sign something is wrong. In my opinion configure detects some settings of your host system which are not available in the cross-compilation environment and that's confusing the script. It would probably be best if you ran configure from within a chrooted environment.
What I can suggest is to try using the -platform and/or -xplatform switches and in general follow those two documents:
Re: QT build - cross compilation error
I saw these documents and I'm working accordingly to them content and to this tutorial. platform and xplatform is for host/target setting but my host platform was detected properly and without xplatform, 'make' uses /qws/arm-linux-g++ which I modified with my compiler paths. I just can't figure how it can't work...I've made fresh Ubuntu 11.04 installation as VirtualBox guest, installed CodeSourcery and I extracted sources...
I saw in the internet some people with problem exact like mine but without response so I'm not alone with this issue. I will try to do some more things and if I will be manage to build Qt for arm I will write here.
Thanks for Your help. I really appreciate it
Best regards