[oe] State of libcs in OE-Core glibc/uclibc/musl
Mark Hatle
mark.hatle at windriver.com
Thu Oct 29 20:07:34 UTC 2015
On 10/29/15 10:42 AM, Khem Raj wrote:
> Hi All,
>
> I would like to get everyone’s opinion on the libcs we maintain in OE-Core, as of now, we have
>
> glibc + cross localedef + kconfig patches which are left overs from eglibc days
I do find the above useful -- include the kconfig part.
> uclibc - which is more of less unmaintained
I've never used uclibc with the Yocto Project framework. I think musl is a lot
more compelling moving forward.
> Its a significant effort to keep forward porting the kconfig changes since it touches everywhere in glibc, (I do it in my local glibc tree)
> almost every week there is a commit in upstream glibc which breaks the kconfig patches, I know there are distribution profiles
> like poky-tiny which uses glibc in this capacity, and may be then their are other custom one’s made on top, I would like us to not carry major
> patches which almost makes our component a fork due to obvious maintenance cost. I think there is viable alternatives to tiny libcs in musl now.
>
> I would like to make a proposal for 2.1 release where
>
> 1. Drop kconfig support in glibc and we become inline with upstream
I really would like to keep kconfig support still. It's definitely useful, but
it's of course not the main workflow.
> 2. Move musl support to OE-Core from meta-musl
I wouldn't object to his.
> 3. Drop uclibc or leave it in current broken state, I would like to pull it out into a layer in meta-openembedded and we can leave the core plumbing as it is in OE-Core
I definitely wouldn't object to this. I do think keeping the uclibc hooks and
such in oe-core for the time being does make sense. It would be interesting to
know how often it is still being used... (and I do think musl is a better
replacement for this use-case.)
> 4. Poky-tiny switches to use musl
I think there are two usages here.. one is a small 'glibc' interface where the
API is glibc compatible, but restricted..
And a "don't care about the libc, as long as it works and is small" use case
which was traditionally uclibc, but now can be fulfilled by musl.
I do still think a 'tiny' glibc is useful -- however with musl being a lot more
capable of working then uclibc was, the usefulness may be diminishing.
> may other disto’s have moved to using musl as system C library e.g. alpine linux, openwrt, and I am also deploying it in real products
> its pretty mature and well maintained with very healthy community around it. Right now meta-musl is capable of building and running
> core-image-sato/core-image-weston for all supported Qemu arches in OE-Core, the amount of software it can build is no less than uclibc
> support in OE-Core.
This certainly makes it worthwhile to consider putting into oe-core proper.
Again, I have no objections to introducing musl.
--Mark
> if collectively we think, this is a good move then I can work on all of above items in early phases of 2.1 so we can settle any
> outstanding issues, due to the shuffle especially in poky-tiny
>
> Thoughts ?
>
> -Khem
>
>
>
More information about the Openembedded-devel
mailing list