2017-11-03 1 views
0

Ich habe ein Linux-Image für freescale imx6qpsabreai Board und SDK mit Toolchain, die gut auf Linux funktioniert.Kann nicht SDK für Windows mit Yocto generieren

Jetzt möchte ich die Entwicklung auf Windows unterstützen und folgende this Post Ich habe

  • heruntergeladen oe meta-mingw in Quellen/meta-openembedded/meta-mingw
  • hinzugefügt SDKMACHINE = x86_64-mingw32 zu lokalen .conf in meinem Projekt

jedoch kann ich nicht neue SDK auf diese Weise erstellen.

~/yocto/fsl-community-bsp/build_fsl_framebuffer$ bitbake fsl-image-machine-test -c populate_sdk 
Loading cache: 100% |###############################################################################################################################################################################| Time: 0:00:00 
Loaded 2 entries from dependency cache. 
ERROR: /home/slavskaya/yocto/fsl-community-bsp/sources/meta-openembedded/meta-mingw/recipes-support/libiconv/libiconv_1.14.bb: Error executing a python function in <code>:      | ETA: --:--:-- 

The stack trace of python calls that resulted in this exception/failure was: 
File: '<code>', lineno: 13, function: <module> 
    0009:__anon_35__home_slavskaya_yocto_fsl_community_bsp_sources_poky_meta_classes_devshell_bbclass(d) 
    0010:__anon_106__home_slavskaya_yocto_fsl_community_bsp_sources_poky_meta_classes_sstate_bbclass(d) 
    0011:__anon_45__home_slavskaya_yocto_fsl_community_bsp_sources_poky_meta_classes_blacklist_bbclass(d) 
    0012:__anon_158__home_slavskaya_yocto_fsl_community_bsp_sources_poky_meta_classes_siteinfo_bbclass(d) 
*** 0013:__anon_31__home_slavskaya_yocto_fsl_community_bsp_sources_meta_openembedded_meta_mingw_recipes_support_libiconv_libiconv_1_14_bb(d) 
File: '/home/slavskaya/yocto/fsl-community-bsp/sources/meta-openembedded/meta-mingw/recipes-support/libiconv/libiconv_1.14.bb', lineno: 28, function: __anon_31__home_slavskaya_yocto_fsl_community_bsp_sources_meta_openembedded_meta_mingw_recipes_support_libiconv_libiconv_1_14_bb 
    0024:inherit autotools pkgconfig gettext 
    0025: 
    0026:python __anonymous() { 
    0027: if d.getVar("TARGET_OS") != "linux": 
*** 0028:  return 
    0029: if d.getVar("TCLIBC") == "glibc": 
    0030:  raise bb.parse.SkipPackage("libiconv is provided for use with uClibc only - glibc already provides iconv") 
    0031:} 
    0032: 
Exception: TypeError: getVar() missing 1 required positional argument: 'expand' 

ERROR: Failed to parse recipe: /home/slavskaya/yocto/fsl-community-bsp/sources/meta-openembedded/meta-mingw/recipes-support/libiconv/libiconv_1.14.bb 

Summary: There were 2 ERROR messages shown, returning a non-zero exit code. 

Auch bin ich keine erfahrenen C/C++ Programmierer, aber aus meiner Sicht mingw nicht Compiler für ARM-Architektur enthält, vielleicht kann ich einfach nicht Arm Werkzeugkette auf Windows zu benutzen?

Antwort

2

meta-mingw erstellt eine Kreuzkompilierung von Linux nach Windows (mingw). Dann verwendet er diesen Cross-Compiler, um eine Standard-Toolchain von (mingw) zur Ziel-SDK-Umgebung zu erstellen. Sie verwenden die richtige Ebene, haben jedoch ein anderes Problem.

Es scheint, dass Sie eine Ebene (Meta-mingw) verwenden, die die neuere bitbake Semantik erwartet:

0027: if d.getVar("TARGET_OS") != "linux": 

*** 0028: Rückkehr Ausnahme: Typeerror: getVar() 1 fehlenden Positions erforderlich Argument: 'expand'

Bitbake benötigt zwei Argumente für 'd.getVar' und benötigt jetzt nur noch eins (das zweite ist optional).

Ich würde vorschlagen, dass Sie identifizieren, welche Version von oe-core/poky Sie verwenden und eine passende Version von Meta-Mingw erhalten. (Es kann so einfach sein wie das Auschecken der richtigen Branche.)

+0

Vielen Dank für die Interpretation dieser Fehlermeldung, überprüfte ich meta-mingw Master-Zweig, während morty yocto Zweig verwenden. – Semant1ka

Verwandte Themen