Angstrom-distribution/meta-angstrom

changing MACHINE breaks bitbake meta-toolchain-qt5

Opened this issue · 2 comments

After doing "bitbake meta-toolchain-qt5", then starting again fresh except with a different MACHINE when running setup_environment, "bitbake meta-toolchain-qt5" will fail with stuff like

ERROR: meta-toolchain-qt5-1.0-r0 do_populate_sdk: The recipe meta-toolchain-qt5 is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
/windriver/usr1/halfdome/fluke-cda-setup/angstrom-v2017.06-yocto2.3-manifest-fluke-cda/deploy/glibc/sdk/angstrom-glibc-x86_64-armv7at2hf-neon-v2017.06-toolchain.target.manifest
(matched in manifest-fluke-cda-vanquishx86_64-meta-toolchain-qt5.populate_sdk)
/windriver/usr1/halfdome/fluke-cda-setup/angstrom-v2017.06-yocto2.3-manifest-fluke-cda/deploy/glibc/sdk/angstrom-glibc-x86_64-armv7at2hf-neon-v2017.06-toolchain.testdata.json

I suspect this is due to there being no machine specific subdirs under deploy/glibc/sdk/ unlike for example deploy/glibc/images/ which has a subdirectory for each machine. I guess this is due to the setting of SDK_DEPLOY in openembedded-core/meta/classes/populate_sdk_base.bbclass which doesn't include SDKMACHINE in its path.

Setting

SDK_DEPLOY = "${DEPLOY_DIR}/sdk/${MACHINE}${SDKMACHINE}"

seems to fix the problem.

Or actually, maybe it's better to give the MACHINE and SDKMACHINE each their own directory, like:

SDK_DEPLOY = "${DEPLOY_DIR}/sdk/${SDKMACHINE}/${MACHINE}"