Hallo zusammen
Stackoverflow kann euch nicht das Wasser reichen.
Dort gibts nämlich keine Antworten.
Folgendes Problem.
Ich bin nach wie vor dran, QT unter Ubuntu für ARM zu kompilieren.
Also sprich, die Libraries welche dann auf dem Zielsystem zum Einsatz
kommen. Zielsystem ist ein i.MX6 armv7 Prozessor.
Nun ich gehe grundsätzlich nach diesem Tutorial vor:
http://wiki.qt.io/RaspberryPi_Beginners_Guide
Habe dann aber dank diesem Post:
Beitrag "Re: glibc mit Linaro toolchain für ARM" endlich mittels dem
über apt-get install installierten Compiler das Problem mit glibc lösen
können.
Ich habe dann im ordner qtbase, wie im tutorial gewünsch, ./configure
aufgerufen.
1 | ./configure -device linux-imx6-g++ -device-option CROSS_COMPILE=arm-
|
2 | linux-gnueabihf- -sysroot ~/Schreibtisch/LinuxDevelopment/rootfsOverlay
|
3 | -opensource -confirm-license -optimized-qmake -reduce-exports -release
|
4 | -make libs -prefix /usr/local/qt5imx -hostprefix /usr/local/qt5imx
|
5 | -no-opengl
|
Zuerst ohne -no-opengl dann kam der Fehler "keine Open GL Unterstützung"
also ohne open GL (wollte ich eh nicht). Dann gings erstmal flott ans
compilieren.... Sehr lange... Und am ende... Genau! Error!!!
1 | qbitarray.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be
|
2 | used when making a shared object; recompile with -fPIC
|
Immer wieder diese Meldungen vom Linker. Haufenweise mit verschiedenen
Objektfiles.
Nun, es irritiert mich, dass da X86_64_32 steht. Ich kompiliere doch für
ARM? Habe ich da was falsch gemacht?
Wenn ich jetzt einfach blind -fPIC bei den Compilerflags anfüge, dann
wirds zum totalen Blindflug für mich. Daher frage ich mal hier obs
überhaupt noch passen kann.
Hier:
http://stackoverflow.com/questions/22540239/what-would-be-a-pratical-example-of-sysroot-and-prefix-options-for-qt
werden die Optionen wie -sysroot gut beschrieben. Wie muss das sysroot
denn aussehen?
Da ich mit Buildroot arbeite, bietet mir Buildroot an, ein overlay zu
erstellen. Dies ist ein ordner welcher später über das eigentliche
sysroot kopiert wird. Dies ist elegant um Dateien zu ergänzen. Ich habe
diesen Overlay ordnert bei sysroot angegeben. Dieser ist grundsätzlich
leer. Ist das ein Problem?
Danke schonmal