Angstrom-distribution / meta-angstrom

MIrror of Angstrom metadata layer
http://www.angstrom-distribution.org/
MIT License
49 stars 57 forks source link

changing MACHINE breaks bitbake meta-toolchain-qt5 #14

Open fmhess opened 6 years ago

fmhess commented 6 years ago

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.

fmhess commented 6 years ago

Setting

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

seems to fix the problem.

fmhess commented 6 years ago

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

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