PDA

View Full Version : QT build - cross compilation error



qtch
23rd May 2011, 16:28
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

7ymekk
17th June 2011, 17:36
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

wysota
17th June 2011, 19:36
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.

7ymekk
17th June 2011, 19:59
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...

wysota
17th June 2011, 20:12
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.

7ymekk
17th June 2011, 20:17
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

wysota
17th June 2011, 21:09
So adding -nomake tools doesn't prevent the compilation from building tools?

7ymekk
18th June 2011, 10:07
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

wysota
18th June 2011, 10:19
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.

7ymekk
18th June 2011, 10:40
'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++

wysota
18th June 2011, 11:08
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?

7ymekk
18th June 2011, 11:22
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."

wysota
18th June 2011, 11:35
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?

7ymekk
18th June 2011, 11:45
:) 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...

wysota
18th June 2011, 12:02
Do you have the necessary cross-compiler execution environment installed? It seems you're missing libc for arm.

7ymekk
18th June 2011, 12:17
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(?)

wysota
18th June 2011, 13:27
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.

7ymekk
18th June 2011, 19:47
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?

wysota
18th June 2011, 20:51
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:

Installing Qt for Embedded Linux
Cross-Compiling Qt for Embedded Linux Applications

7ymekk
18th June 2011, 21:10
I saw these documents and I'm working accordingly to them content and to this tutorial (http://www.qtforum.org/article/27542/procedure-to-deploy-qt-libraries-on-embedded-arm-board.html?c1aed0d6#post95205). 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

wysota
18th June 2011, 23:33
Well, the thing is you modified something and that shouldn't be required. Following a two-year old tutorial might not be the best course of action too. You might send a PM to Johan Thelin (e8johan) asking him to look here, he's far more experienced with embedded than I am.

7ymekk
10th July 2011, 18:02
Thanks for Your help but after some fails I've decided to try out necessitas for Android. This is what I was looking for:) Necessitas + Android Phone + Arduino UNO is perfect combination

regards

soumya pandiyattu
30th October 2012, 08:29
did u solve this??? i was cross compiling qt5 and now i am struck at the same problem now.... can anyone help me with this

i m struck at
/bin/sh: /home/satishl/XCal_G8/Xi3-7428-RDK1.0/Custom7428/soumya/rdk/Refsw/AppLibs/opensource/qt/qt-everywhere-opensource-src-5.0.0-beta1/qttools/bin/lrelease: cannot execute binary file
make[4]: *** [assistant_cs.qm] Error 126
make[3]: *** [sub-translations-make_first] Error 2
make[2]: *** [module-qttranslations-make_first] Error 2
make[2]: *** Waiting for unfinished jobs....


I saw these documents and I'm working accordingly to them content and to this tutorial (http://www.qtforum.org/article/27542/procedure-to-deploy-qt-libraries-on-embedded-arm-board.html?c1aed0d6#post95205). 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