2013-10-31 6 views
3

openbedded 환경에서 bitbake를 실행 중이며 조리법 파일의 99 %가 누락 된 것 같습니다. 내 conf 디렉토리에있는 local.conf 파일을 편집 한, 그것은 선이 있습니다조리법을 찾을 수없는 Bitbake

BBFILES := "/blah/blah/blah/rootfs/openembedded/recipes/*/*.bb" 

을 내가 함께 그 경로를 확인하는 경우 :

ls -l /blah/blah/blah/rootfs/openembedded/recipes/*/*.bb 

나는 BB 파일의 톤을 참조하십시오.

내가해야 할 전부 문서 주어진 생각 ,하지만 난 bitbake를 실행할 때, 나는 다음과 같은 오류 얻을 :

bitbake base-image 
NOTE: Handling BitBake files: \ (0015/0015) [100 %] 
Parsing of 15 .bb files complete (14 cached, 1 parsed). 15 targets, 0 skipped, 0 masked, 0 errors. 
ERROR: Nothing PROVIDES 'base-image' 

Build Configuration: 
BB_VERSION  = "1.10.2" 
METADATA_BRANCH = "<unknown>" 
METADATA_REVISION = "8c6a371" 
TARGET_ARCH  = "arm" 
TARGET_OS   = "linux-gnueabi" 
MACHINE   = "at91sam9x5ek" 
DISTRO   = "angstrom" 
DISTRO_VERSION = "v20131031" 
TARGET_FPU  = "soft" 

Unknown Event: <bb.event.NoProvider instance at 0x1b70a28> 
ERROR: Nothing PROVIDES 'base-image' 
Command execution failed: Traceback (most recent call last): 
    File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/command.py", line 88, in runAsyncCommand 
commandmethod(self.cmds_async, self, options) 
    File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/command.py", line 174, in buildTargets 
command.cooker.buildTargets(pkgs_to_build, task) 
    File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/cooker.py", line 782, in buildTargets 
taskdata.add_provider(localdata, self.status, k) 
    File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/taskdata.py", line 354, in add_provider 
self.add_provider_internal(cfgData, dataCache, item) 
    File "/home/max/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/bitbake/lib/bb/taskdata.py", line 383, in add_provider_internal 
raise bb.providers.NoProvider(item) 
NoProvider: base-image 

그래서, 경로, 잘못 표시되지 않습니다 및 수백 bb 파일이 있지만 bitbake는 15 개의 조리법 만 볼 수 있습니다. 내가 놓친 어떤 생각? 불행히도 내 특정 게시판과 함께 제공되는 설명서는 몇 년 오래된, 그래서 OE 또는 Yocto 더 이상 정확히 일치하지 않습니다.

답변

1

내 BBFILES 변수를 덮어 쓰는 다른 계층에 속한 local.conf가 있습니다. 나는 그 길을 고쳐서 그 문제를 해결했다.

다른 사람에게 유용 할 지 모르지만 여러 레이어의 레시피를 함께 사용하면 BBFILES 행이 이와 같이 보입니다.

BBFILES := "${HOME}/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/recipes/*/*.bb" 
BBFILES += "${HOME}/workspace/tacbio/tacbio-kernel-2_6_39/rootfs/openembedded/oe_at91sam/recipes/*/*.bb" 

나는 + =를 추가 할 수 있음을 잊어 버렸습니다.

2

나는 최근에 비슷한 문제가있었습니다. 나는 조리법을 추가하고 다음과 같은 오류를 받았습니다. 근본적인 문제를 지적하는 데 기술적으로 뛰어나지 않습니다.
내가 IMAGE_INSTALL_append = "의 maXTouch"나는 새로운 디렉토리 구조를 만들었다

# We have recipes-* directories, add to BBFILES BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ ${LAYERDIR}/recipes-*/*/*.bbappend \ "

[email protected]:~/dev/prod/angstrom$ bb -v atmel-maxtouch -c fetch NOTE: Started PRServer with DBfile: /home/wwright/dev/prod/angstrom/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 58436, PID: 37407 Loading cache: 100% |######################################################################################| ETA: 00:00:00 Loaded 2723 entries from dependency cache. WARNING: No recipes available for: /home/wwright/dev/prod/angstrom/sources/meta-angstrom/recipes-tweaks/openjdk/openjdk-7_%.bbappend ***ERROR: Nothing PROVIDES 'maxtouch'***

내 layer.conf 파일 등 별도의 디렉토리 레벨 을 수행하여 추가했다 meta-methode/recipes-core/touch/atmel에 조리법을 추가했습니다. 해결책은 BBFILES 변수에 dir level을 추가합니다.

BBFILES += " ${LAYERDIR}/recipes-*/*/*/*.bb" 

meta-methode/recipes-core 
├── base-files 
│   ├── base-files_3.0.%.bbappend 
│   └── files 
│    └── display-settings.sh 
├── init-ifupdown 
│   ├── files 
│   │   └── interfaces 
│   └── init-ifupdown_%.bbappend 
├── systemd 
│   ├── files 
│   ├── systemd-serialgetty.bbappend 
│   └── systemd-serialgetty.bb.save 
├── touchscreen 
│   └── atmel 
│    └── maxtouch_1.23.bb 
└── util-linux 
    └── util-linux_2.%.bbappend 

최근. 즉 Append 파일을 실행 중인지 알 수 없습니다. (misbelled bbapend) 디버깅에 유용합니다. recipexx.bbappend를 편집하여 변수를 추가하거나 이미 append에있는 var를 검색하십시오.

MYVAR = "MyAppend"

bitbake-층 보여-추가 | 그렙 MYVAR

또는 ...

bitbake -v recipexx -c -f -D를 구축 | grep MYVAR