You should probably file a bug that eSDK creation doesn’t work with externalsrc enabled.
A workaround would be to simply not use externalsrc, that’s meant for local development purposes and not something you’d use globally. Ross > On 14 Dec 2023, at 10:36, sjhan via lists.yoctoproject.org > <sjhan=ambarella....@lists.yoctoproject.org> wrote: > > Hi all, recently I encountered a problem about some environment params that > we exported not being recognised and parsed properly when runnning the > command "bitbake -c populate_sdk_ext ipcam-image". For comparison, "bitbake > -c populate_sdk ipcam-image" can work perfectly. > Currently, I don't know how to dig out the root cause and resolve it > accordingly. Any help from here is appreciated. > > 1. The error messages are as following: > ERROR: ipcam-image-1.0-r0 do_populate_sdk_ext: Failed to generate filtered > task list for extensible SDK: > ### Shell environment set up for builds. ### > You can now run 'bitbake <target>' > Common targets are: > core-image-minimal > core-image-full-cmdline > core-image-sato > core-image-weston > meta-toolchain > meta-ide-support > You can also run generated qemu images with a command like 'runqemu > qemux86-64'. > Other commonly useful commands are: > - 'devtool' and 'recipetool' handle common recipe tasks > - 'bitbake-layers' handles common layer tasks > - 'oe-pkgdata-util' handles common target package tasks > ERROR: bitbake failed: > Loading cache...done. > Loaded 0 entries from dependency cache. > Parsing recipes...ERROR: > /yocto/system/sjhan/re_sdk/sdk_1.5/topdir/out/yocto_out/cv2_chestnut/tmp/work/cv2x-poky-linux/ipcam-image/1.0-r0/sdk-ext/image/tmp-renamed-sdk/layers/meta-ambalib/recipes-sensor/OMC/omc-ov2778-datas/omc-ov2778-datas_1.0.0.bb: > EXTERNALSRC must be an absolute path > ........................... > > 2. Take one recipe as example. > Because of the "EXTERNALSRC" in our recipes contain the environment params, > so I added some printing informations in "meta/classes/externalsrc.bbclass" > to print the value of externalsrc after error messages. > Then I found that some environment variables can be parsed but others cannot. > Parsing recipes...ERROR: > /yocto/system/sjhan/re_sdk/sdk_1.5/topdir/out/yocto_out/cv2_chestnut/tmp/work/cv2x-poky-linux/ipcam-image/1.0-r0/sdk-ext/image/tmp-renamed-sdk/layers/meta-ambalib/recipes-sensor/OMC/omc-ov2778-datas/omc-ov2778-datas_1.0.0.bb: > EXTERNALSRC must be an absolute path: > ${ENV_TOP_DIR}/packages/idsp/data/img_cv2x/OMC/ov2778 > > These are the content of this recipe: omc-ov2778-datas_1.0.0.bbappend. > inherit externalsrc > EXTERNALSRC = > "${ENV_TOP_DIR}/packages/idsp/data/img_${AMBA_IMG_ARCH}/OMC/ov2778" > EXTERNALSRC_BUILD = > "${ENV_TOP_DIR}/packages/idsp/data/img_${AMBA_IMG_ARCH}/OMC/ov2778" > The environment params here are exported in ambaenv.bbclass. And we inherit > this bbclass in omc-ov2778-datas_1.0.0.bb. > 3. Continue tracking. > I tried to trace the poky source code. The code execution flow is as below. I > also put the code piece here about where the error occurred. > • poky/meta/lib/oe/copy_buildsystem.py: check_sstate_task_list().In > this function, it runs bb.process.run(cmd, stderr=subprocess.STDOUT, env=env, > cwd=cwd, executable='/bin/bash'), the cmd here is ". > layers/poky/oe-init-build-env .;PYTHONDONTWRITEBYTECODE=1 > BB_SETSCENE_ENFORCE=1 PSEUDO_DISABLED=1 oe-check-sstate ipcam-image > meta-extsdk-toolchain:do_populate_sysroot -s -o > /yocto/system/sjhan/re_sdk/sdk_1.5/ambarella/out/yocto_out/cv2_chestnut/tmp/work/cv2x-poky-linux/ipcam-image/1.0-r0/tasklist.txt > -l > /yocto/system/sjhan/re_sdk/sdk_1.5/ambarella/out/yocto_out/cv2_chestnut/tmp/work/cv2x-poky-linux/ipcam-image/1.0-r0/tasklist_bb_log.txt". > • poky/scripts/oe-check-sstate: check(). In this function, it runs > output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, env=env), the > cmd here is "['bitbake', '--dry-run', '--runall=build', 'ipcam-image', > 'meta-extsdk-toolchain:do_populate_sysroot']" > Then, the error occured. > > 4. Other informations maybe help. > I enter the directory > tmp/work/cv2x-poky-linux/ipcam-image/1.0-r0/sdk-ext/image/tmp-renamed-sdk and > rerun the command ". layers/poky/oe-init-build-env ." and "bitbake --dty-run > --runall=build ipcam-image", I can reproduce this issue. > If I don't rerun ". layers/poky/oe-init-build-env ." but just run "bitbake > --dty-run --runall=build ipcam-image", it can pass. > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#61887): https://lists.yoctoproject.org/g/yocto/message/61887 Mute This Topic: https://lists.yoctoproject.org/mt/103167520/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/leave/6691583/21656/737036229/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-