2017-11-03 1 views
0

Linux에서 잘 작동하는 툴체인을 사용하여 imescreen 및 imx6qpsabreai 보드 용 Linux 이미지를 빌드했습니다.Yocto를 사용하여 Windows 용 SDK를 생성 할 수 없습니다.

지금 내가

  • 지역에 소스/메타 openembedded/메타와 Mingw
  • 추가 SDKMACHINE = x86_64에-mingw32에 oe meta-mingw를 다운로드 한 Windows에서 개발을 지원하기 위해 원하는 this 게시물을 다음 .conf 내 프로젝트에서

그러나, 나는 이런 식으로 새 SDK를 구축 할 수 없습니다.

~/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. 

또한, 나는 경험이 C/C++ 프로그래머가 아니지만, ARM 아키텍처를위한 컴파일러를 포함하지 않는 뷰와 Mingw 내 지점, 그래서 아마 난 그냥 팔 툴체인 Windows에서 사용할 수 없습니다에서?

답변

2

meta-mingw는 Linux에서 Windows (mingw)로 크로스 컴파일을 빌드합니다. 그런 다음이 교차 컴파일러를 사용하여 (mingw)에서 대상 SDK 환경에 대한 표준 툴체인을 생성합니다. 올바른 레이어를 사용하고 있지만 다른 문제가 있습니다.

만약 새로운 bitbake 의미 기대된다 (- 메타와 Mingw) 층을 사용하고 있다고 표시

: 위치 요구 getVar를 (1)가 누락 :

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

*** 0028 : 예외 복귀 : 형식 오류를 인수 : 'expand'

Bitbake는 'd.getVar'에 두 개의 인수가 필요했지만 이제는 하나만 필요합니다 (두 번째는 선택 사항 임).

사용중인 oe-core/poky의 버전을 확인하고 일치하는 버전의 meta-mingw를 얻는 것이 좋습니다. (정확한 브랜치를 확인하는 것만 큼 간단 할 수도 있습니다.)

+0

이 오류 메시지를 해석해 주셔서 감사합니다. morty yocto 브랜치를 사용하면서 meta-mingw master 브랜치를 체크 아웃했습니다. – Semant1ka

관련 문제