Bug 8950 - Clean operation not done with externalsrc when S = B
Summary: Clean operation not done with externalsrc when S = B
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: configuration (show other bugs)
Version: 2.1
Hardware: All Multiple
: Medium normal
Target Milestone: 2.1
Assignee: Markus Lehtonen
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-01-20 00:39 UTC by Khem Raj
Modified: 2016-02-01 06:58 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Khem Raj 2016-01-20 00:39:53 UTC
when we use externalsrc for a component where S = B then make clean is not happening in the S ( as pointed by externalsrc location)

The problem is that it fails to link or package when we build the same package for another MACHINE.

This is brought to fore by using devtool. E.g. on lvm2 or fbset component from meta-oe

Procedure to reproduce is


MACHINE=qemux86

devtool modify -x lvm2
bitbake lvm2

now change MACHINE=qemux86-64
bitbake lvm2

you will get errors 

| /home/ubuntu/hacking/sources/lvm2/libdm/libdm-string.c:587: undefined reference to `__udivdi3'
| /home/ubuntu/work/oe/openembedded-core/build/tmp-musl/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux-musl/gcc/x86_64-oe-linux-musl/5.3.0/ld: datastruct/bitset.o: file class ELFCLASS32 incompatible with ELFCLASS64
| /home/ubuntu/work/oe/openembedded-core/build/tmp-musl/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux-musl/gcc/x86_64-oe-linux-musl/5.3.0/ld: final link failed: File in wrong format
Comment 1 Markus Lehtonen 2016-02-01 06:58:27 UTC
A fix to this bug was merged in
http://git.openembedded.org/openembedded-core/commit/?id=f44f12af346888bdeb3ae01a275cb5dd4396b505

Please re-open if you still experience similar problems.