J'essaie de compiler les bibliothèques Qt 5 pour mon RPI, mais elle se bloque toujours.
Ce sont les guides que j'ai essayés de suivre: p>
http://qt-project.org/wiki/raspberrypi_beginners_guide
http://qt-project.org/wiki/raspberrypi p>
i ont téléchargé le compilateur croisé et la sysroot-image en fonction du guide et ont tiré les sources QT5 du repo git. p>
Après avoir suivi l'un des guides que je suis maintenant bloqué à Ceci est l'erreur que je reçois: p> faire code> . P>
5 Réponses :
Fixez les chemins des bibliothèques dans votre sysroot. Certaines bibliothèques sont des liens avec des chemins absolus qui sont brisés lorsqu'ils sont placés dans votre système. Vérifiez quelque chose comme /home/esa/qtonpi/rpi_image/usr/lib/arm-linux-gnueabihf/libdl.so ou similaire. Vous devriez voir que ce sont des symboles brisés sur des chemins absolus. Réparer tous ceux-ci. Dans les documents que vous avez signalés, un script à cette fin est fourni. L'avez-vous dirigé ( https://gitorious.org/ Outils croisés / outils croisés / outils croisés / blobs / Master / FixqualifiedLibraryPaths )? P>
Essayez aussi de vérifier Ceci < / a> Si vous rencontrez toujours des problèmes: j'ai écrit quelques notes compilant une version récente de la GIT pour l'image Wheezyzy. P>
Merci. J'avais déjà rencontré desquelsChanchibraryPathes, mais sur une autre sysrotation! Je ne pouvais pas comprendre que je ne l'avais pas couru sur celui-ci ...
J'ai eu un problème différent: 1 / J'ai construit mon propre compilateur croisé, mais j'ai oublié d'indiquer qu'il est requis C ++, 2 / cogné dans la ne pas avoir un compilateur C ++, puis découvert qu'un paquet de compilateur croisé est disponible ici: github.com/raspberrypi/tools , 3 / je n'ai pas couru ./fixqualifiedLibraryPaths à nouveau fonctionnant correctement dans La première place mais malheureusement n'a pas produit de message d'erreur.
J'ai également utilisé le même lien que l'OP, et j'exécute fixqualifiedLibraryPaths code>, mais il n'a trouvé aucun chemin à réparer. Il n'y a pas de
libdl code> et
libm code> du tout dans mon
/ mnt / rasp-pi-rootfs / usr / lib / code>
Alors ... probablement c'est le problème?
Ceci pourrait être parce que libdl.so code> et
libm.so code> est absent de votre local
rootfs / usr / lib / arrach-linux-gnuebihf code > Répertoire (il n'y a que
libdl.a code> et
libm.a code>). Copier les deux fichiers de la Raspberry PI devrait rendre la compilation réussie. P>
Ouais, pour les nouveaux arrivants, la publication des réponses est la seule solution possible cependant. Il est temps d'obtenir un représentant afin que vous puissiez commencer à commenter :)
Une réponse à ceux qui ont essayé à la fois des réponses existantes et ils n'ont pas fonctionné:
Il pourrait arriver que l'image fraspbian que vous téléchargée ne contienne pas de symboles pour libdl et libdm dans le Dans ce cas, lesquelsChandiChibraryPaths ne vous aideront pas comme il ne peut pas trouver les symboles. Copie J'ai regardé ce que Faites de même pour les fichiers trouvés jusqu'à ce qu'ils ne soient plus symboles, mais des fichiers normaux. P> sur mon système, il s'est avéré qu'ils sont appelés retour sur mon PC, j'ai trouvé ces fichiers exacts dans le / usr / libdm / code> dossier. p>
libdl.so code> et
libm.so code> peut également échouer, par exemple, si vous utilisez un lecteur flash pour copier des données de votre PI de framboise existante, il ne les copiera pas. comme symboles, mais copiera les bibliothèques elles-mêmes. Cependant, pour que la construction réussisse, il semble nécessiter des liens symboliques. P>
libdl code> et
libdm code> dans le
/ usr / Dossier lib / code> de mon point PI de framboise à p>
libdl-2.13.so code> et
libm-2.13.so code> et résident dans
/ lib / bras-linux-gnuebihf / code> au lieu de
/ usr / lib /... p>
/ lib / z Dossier Linux-Gnueabihf / Code> (Si vous ne les trouvez pas, vous pouvez les copier de votre PI de framboise). J'ai donc créé des liens symboliques pour eux dans le dossier
/ USR / UR / UR / LIB / ARM-LINUX-GNUEABIBHF / P>
sudo ln -s /lib/arm-linux-gnueabihf/libdl-2.13.so /usr/lib/arm-linux-gnueabihf/libdl.so
sudo ln -s /lib/arm-linux-gnueabihf/libm-2.13.so /usr/lib/arm-linux-gnueabihf/libm.so
Essayez ceci essentiellement, il semble que le ou les chemins absolus ont été spécifiés lorsque les fichiers de la section "code> PI code> étaient liés lier le Si vous n'avez pas (/ lib /) code>, et donc dans le
/ mnt / raspberrine-rootfs code> ils sont cassés. p>
/ lib / bras-linux-gnuabihf de PI < / Code> au répertoire
/ LIB LIF> de PC corrige le mauvais lien et permet à QT de compiler. C'est un tour sale, mais ça marche. P>
libdl / libm code> sur le
PI code>, alors vous devez coller la carte SD retour dans le
PI code>, démarrez et installez-les. Évidemment, vous devrez créer une nouvelle image sur le PC à partir de la carte SD et monter sur
/ mnt / raspberry-rootfs code> p> p> p>
au lieu de FixQualifiedLibraryPaths Utilisez:
cd <folder-with-sysroot-subfolder> wget https://raw.githubusercontent.com/riscv/riscv-poky/master/script/sysroot-relativelinks.py chmod +x sysroot-relativelinks.py ./sysroot-relativelinks.py sysroot