mes premiers pas dans BitBake en utilisant ce guide , la configuration fonctionne bien jusqu'au moment où je lance bitbake world
, où j'obtiens ceci -
bitbake --version BitBake Build Tool Core version 1.40.0
et oui - j'ai extrait le dernier BitBake de github:
WARNING: python should use 4 spaces indentation, but found tabs in base.bbclass, line 41 .... WARNING: python should use 4 spaces indentation, but found tabs in base.bbclass, line 64 Parsing recipes: 100% |###########################################################################################################################################################################| Time: 0:00:00 Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies ERROR: An uncaught exception occurred in runqueue################################################### | ETA: 0:00:00 Traceback (most recent call last): File "/home/ubuntu/bitbake/lib/bb/runqueue.py", line 1508, in RunQueue.execute_runqueue(): try: > return self._execute_runqueue() except bb.runqueue.TaskFailure: File "/home/ubuntu/bitbake/lib/bb/runqueue.py", line 1428, in RunQueue._execute_runqueue(): [43, 967, 4, 3, 1, 5, 3, 7, 13, 1, 2, 1, 1, 246, 35, 1, 38, 1, 35, 2, 338, 204, 142, 3, 3, 37, 244]) > if self.rqdata.prepare() == 0: self.state = runQueueComplete File "/home/ubuntu/bitbake/lib/bb/runqueue.py", line 1164, in RunQueueData.prepare(): todeal.remove(tid) > self.prepare_task_hash(tid) File "/home/ubuntu/bitbake/lib/bb/runqueue.py", line 1177, in RunQueueData.prepare_task_hash(tid='/home/ubuntu/Poky/poky/meta-tutorial/recipes-tutorial/first/first_0.1.bb:do_build'): self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc]) > self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname) File "/home/ubuntu/bitbake/lib/bb/siggen.py", line 45, in SignatureGenerator.get_unihash(task='/home/ubuntu/Poky/poky/meta-tutorial/recipes-tutorial/first/first_0.1.bb.do_build'): def get_unihash(self, task): > return self.taskhash[task] KeyError: '/home/ubuntu/Poky/poky/meta-tutorial/recipes-tutorial/first/first_0.1.bb.do_build' Summary: There were 13 WARNING messages shown. Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
qu'est-ce qui ne va pas avec mon code python?
3 Réponses :
Le code du tutoriel est cassé. Le bitbake.conf est stocké dans
ch04/build/conf/bitbake.conf
mais il appartient à
ch04/meta-tutorial/conf/bitbake.conf
Déplacez le fichier là et ça marche
J'ai ouvert un numéro: https: // bitbucket.org/a4z/bitbakeguide/issues/17/bitbakeconf-stored-in-the-wrong-place
merci, j'ai déplacé le fichier du dossier 'meta-tuturial / conf' vers le dossier 'build / conf', mais j'obtiens toujours le même résultat
Oh, maintenant je me rends compte que l'exception que j'ai eue lors du test était différente :-). Pouvez-vous s'il vous plaît publier le contenu de votre first_0.1.bb?
c'est exactement comme dans l'exemple - a4z.bitbucket.io/docs/BitBake/…
Je suis confronté exactement au même problème, je l'ai finalement trouvé à cause de la version de bitbake.
Si vous clonez Bitbake depuis https://github.com/openembedded/bitbake , vous pourrait passer à une première version:
balises git checkout / 1.26.0 -b 1.26.0
Ensuite, le problème a disparu.
Il semble utiliser BB_SIGNATURE_HANDLER noop (par défaut)
Je corrige cette erreur en ajoutant BB_SIGNATURE_HANDLER define dans meta-tutorial / conf / bitbake.conf
BB_SIGNATURE_HANDLER ?= "basichash"
Résoudre le problème avec BitBake 1.42
@ddidier en utilisant BitBake 1.42 (commit 34ed28a41), je peux toujours reproduire ce problème sans BB_SIGNATURE_HANDLER défini.
Je suis vraiment désolé, je voulais dire que BB_SIGNATURE_HANDLER? = "Basichash"
résout le problème avec 1.42 (cela ne fonctionne pas sans lui).