[OE-core] meta-toolchain / /bin/sh requirement / ldconfig backfill
Khem Raj
raj.khem at gmail.com
Mon Sep 18 20:53:43 UTC 2017
On Mon, Sep 18, 2017 at 12:30 PM, Mark Hatle <mark.hatle at windriver.com> wrote:
> I tried to build the meta-toolchain, toolchain SDK today and received an error.
> My system is configured to use package_rpm by default...
>
> The error I got was:
>
> Error:
> Problem: package
> packagegroup-core-standalone-sdk-target-1.0-r8.noarch requires
> libstdc++6, but none of the providers can be installed
> - conflicting requests
> - nothing provides /bin/sh needed by libstdc++6-7.2.0-r0.i586
>
>
> The /bin/sh dependency seems kind of odd at first, but after a little research
> it turns out that by default 'ldconfig' support is now enabled. This
> automatically adds a post-install script to any package with a library in it:
>
> #!/bin/sh
> if [ x"$D" = "x" ]; then
> if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi
> fi
>
>
> That in-turn causes the dependency of /bin/sh to occur.
>
> Because of this, there is no way (with a default configuration) to build
> meta-toolchain....
>
> Investigating further, ldconfig support moved from "USE_LDCONFIG" to a
> distribution configuration. It does this via the "DISTRO_FEATURES_BACKFILL"
> (introduced in commit: a905df2dd8f43a2febffa64a39b6e508510326a0)
>
>
> If I add to my configuration:
>
> DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"
>
> This works around the issue... but doesn't resolve the default issue....
>
> So my question is, is this behavior (the failure case) really acceptable without
> telling the user what is happening? Or do we need to add something to the
> system that says meta-toolchain can't be used with this DISTRO_FEATURE? or...
>
ldconfig is not very useful with cross toolchain unless its a cross tool too
I think the particular recipe should check for distro feature before calling
it out in a post_install
More information about the Openembedded-core
mailing list