On 03/04/2018 05:26 AM, Mike Crowe wrote:
I have a recipe which uses both base64 from coreutils-native and hexdump
from util-linux-native so I've put both in my recipe DEPENDS.
Unfortunately do_prepare_sysroot is failing with:
Exception: FileExistsError: [Errno 17] File exists:
'/home/mac/src/oe2/build-bcm7425/tmp-glibc/sysroots-components/x86_64/coreutils-native/bin/kill'
->
'/home/mac/src/oe2/build-bcm7425/tmp-glibc/work/impala-oe-linux-gnueabi/verify-rootfs/1.0-r3/recipe-sysroot-native/bin/kill'
since both coreutils and util-linux provide /bin/kill.
This doesn't cause a problem in a standard oe-core build since coreutils
installs all its binaries in ${bindir} whereas util-linux puts kill in
${base_bindir}.
Unfortunately, with meta-micro ${bindir} and ${base_bindir} are the same
directory. :(
Both coreutils and util-linux already appear to use the alternatives
mechanism for kill, but that doesn't seem to help for -native.
I can easily locally nobble kill in one of the recipes to solve this
problem, but that doesn't seem very elegant.
What's the correct way to solve this problem?
Thanks.
Mike.
I'd suggest you remove conflict items in do_install in case of native.
An example is in coreutils recipe as below.
do_install_class-native() {
autotools_do_install
# remove groups to fix conflict with shadow-native
rm -f ${D}${STAGING_BINDIR_NATIVE}/groups
# The return is a must since native doesn't need the
# do_install_append() in the below.
return
}
You can create a bbappend file in your layer and do similar things.
Best Regards,
Chen Qi
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core