[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