Bug 9281 - Changing SDK_OS hits warnings unless you wipe tmp
Summary: Changing SDK_OS hits warnings unless you wipe tmp
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 2.2 M4
Assignee: Juro Bystricky
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-03-16 23:34 UTC by Christopher Larson
Modified: 2016-09-28 15:54 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
patch for jethro/poky (7.81 KB, patch)
2016-08-05 22:14 UTC, Juro Bystricky
no flags Details | Diff
patch for jethro/meta-mingw (728 bytes, patch)
2016-08-05 22:15 UTC, Juro Bystricky
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher Larson 2016-03-16 23:34:02 UTC
Only SDK_ARCH is captured in the PN of the crosssdk recipes, so changes to SDK_OS result in conflicts due to rebuilding them while providing the same thing. I think we should include all of SDK_SYS as the recipe name suffix instead, unless we don't want to support this use case. Specifically, changing from linux to mingw will hit this.
Comment 1 Ross Burton 2016-03-17 13:48:59 UTC
Sounds about right.  Can you send a patch?
Comment 2 Juro Bystricky 2016-08-05 22:13:06 UTC
To implement/test the changes, I initially used jethro version. meta-mingw layer needs several modifications for krogoth/master, which would complicate the design at an early stage.
I created two patches that allow me to execute:

$ bitbake meta-toolchain 

while changing SDKMACHINE in local.conf.

SDKMACHINE ?= "i686-mingw32"
SDKMACHINE ?= "x86_64-mingw32"
SDKMACHINE ?= "i686"
SDKMACHINE ?= "x86_64"

Without the patches, I would get several errors:
ERROR: The recipe binutils-crosssdk-i686 is trying to install files into a shared area....
...
The build has stopped as continuing in this scenario WILL break things, if not now, possibly in the future (we've seen builds fail several months later).
...
ERROR: Function failed: sstate_task_postfunc
...

Then I would be forced to delete the "tmp" folder.
The patches allow co-existance builds of various SDKMACHINES.

The next step is to actually test the generated SDKs (so far only a visual check) and move on to krogoth/master.
Comment 3 Juro Bystricky 2016-08-05 22:14:39 UTC
Created attachment 3339 [details]
patch for jethro/poky

Patch for several poky files (jethro)
Comment 4 Juro Bystricky 2016-08-05 22:15:54 UTC
Created attachment 3340 [details]
patch for jethro/meta-mingw

meta-mingw patch needed to avoid name-clash.
Comment 5 Juro Bystricky 2016-09-26 16:40:47 UTC
Patchset sent to the mailing list:
http://lists.openembedded.org/pipermail/openembedded-core/2016-September/126945.html