Mon objectif est d'avoir un SDK Yocto avec les bibliothèques de boost incluses. Certaines des bibliothèques fournies par Boost sont uniquement en-tête mais beaucoup d'autres doivent être compilées pour mon architecture cible. Je suis assez nouveau au Yocto donc je suis confronté à quelques difficultés. Je n'ai eu aucun problème à définir un nouveau calque pour mon serveur web dans bblayers.conf et à ajouter des paquets dans le fichier local.conf pour apache et php. J'ai été assez chanceux d'avoir ces paquets déjà inclus dans le yocto krogoth.Ajouter une recette Boost à Yocto SDK
Le problème se pose avec l'installation d'un nouveau paquet non présent (ou récupéré) dans la version normale, comme c'est le cas pour les bibliothèques boost. Je trouve this ressource sur OpenEmbedded ce qui explique cette poussée appartient à la couche OpenEmbedded-core et donne cette recette à ajouter à la couche:
require boost-${PV}.inc
require boost.inc
SRC_URI += "\
file://arm-intrinsics.patch \
file://boost-CVE-2012-2677.patch \
file://0001-boost-asio-detail-socket_types.hpp-fix-poll.h-includ.patch \
file://boost-math-disable-pch-for-gcc.patch \
file://0001-Apply-boost-1.62.0-no-forced-flags.patch.patch \
file://0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
file://0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch \
file://0001-correct-error-which-appeared-when-compiling-non-c-co.patch \
"
Je suis tout à fait incertain sur la façon de l'utiliser. Dois-je télécharger les librairies boost et les décompresser dans un répertoire? Devrais-je conserver l'archive?
En lisant une partie de la documentation, ce fichier attend une ressource "file", donc quelque chose trouvé sur mon disque local. En outre, où dois-je placer la recette bb? Y a-t-il un dossier par défaut? D'après ce que j'ai lu, cela n'a pas vraiment d'importance, mais c'est une bonne pratique de garder des couches avec des couches, des recettes avec des recettes et ainsi de suite.
alors je devrais reconstruire sans doute l'image et enfin effectuer une: bitbake -c populate_sdk
Pourriez-vous me aider peut-être?
Merci pour votre aimable réponse. J'ai remarqué que j'avais déjà des couches openembedded-core et meta-oe, mais je ne pense pas qu'elles contiennent par défaut les bibliothèques boost. Ai-je tort ? – Podarce
@Podarce Laissez-moi éditer. – mascoj
@Podarce Vérifiez la mise à jour. Boost est fourni dans la couche par défaut. – mascoj