Hi,
I have been wrestling with this for two days, scouring internet, and so on. Not the first time I’ve cross compiled Qt for ARM either, but something is haywire with this release – before I file a bug report for the build system I want to see if anyone else has had this problem or can tell me where I am screwing up ..
The configure looks like this:
./configure -prefix /usr/local/qt4.8.5 -embedded arm -xplatform qws/linux-arm-gnueabihf-g++ -no-glib -no-opengl -no-largefile -no-accessibility -no-openssl -no-gtkstyle -nomake examples -nomake tests -no-audio-backend -no-phonon -no-phonon-backend -no-svg -no-webkit -no-script -no-scripttools -no-javascript-jit -no-nis -no-webkit -no-qt3support -qt-sql-sqlite -qt-zlib -no-gif -no-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-opengl -qt-freetype -nomake demos -opensource -confirm-license -no-multimedia -nomake doc -cups -sysroot /home/jp/targets/exports/debug -plugin-mouse-tslib -nomake tools
The target is the same qmake.conf as for qws/linux-arm-gnueabi but for a linaro (4.7) hardfloat compiler.
The sysroot is a stock Debian arm system I have already been working with (mounted root=nfs remotely).
The error is as follows (snipped to the last for brevity):
arm-linux-gnueabihf-g++ -Wl,-rpath-link,/home/jp/src/qt-everywhere-opensource-src-4.8.5/lib —sysroot=/home/jp/targets/exports/debug -Wl,-O1 -Wl,-rpath,/usr/local/qt4.8.5/lib -Wl,-rpath,/usr/local/qt4.8.5/lib -o ../../../bin/lrelease .obj/release-shared-emb-arm/main.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/ioutils.o .obj/release-shared-emb-arm/proitems.o .obj/release-shared-emb-arm/profileparser.o .obj/release-shared-emb-arm/profileevaluator.o -L/home/jp/src/qt-everywhere-opensource-src-4.8.5/src/tools/bootstrap -lbootstrap
/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lbootstrap
collect2: error: ld returned 1 exit status
This is quite reproducible – I have done confclean, removed and unpacked tar.gz again, even downloaded a new one .. no dice.
So, I went into src/tools/bootstrap and ran qmake and make manually – which build libbootstrap, after which the build continued .. but, lrelease had been built as an ARM binary. Shortly later the build system attempts to run lrelease (on the host – x86_64), which, of course, fails. Stuck right there.
I don’t really use lrelease and it isn’t clear to me
A. why it was built at all when “-nomake tools” was specified
B. why it is built for ARM
C. why the make attempts to use it on the host?
Anyone have any ideas how to fix this?
Thanks in advance!
↧