Gentoo Archives: gentoo-dev

From: Joshua Kinard <kumba@g.o>
To: gentoo-dev@l.g.o, "Anthony G. Basile" <blueness@g.o>
Subject: Re: [gentoo-dev] RFC: dropping support for uclibc-ng
Date: Wed, 06 Jan 2021 04:55:31
Message-Id: 5eac8f9d-d073-02c7-e496-2c2f8764e253@gentoo.org
In Reply to: Re: [gentoo-dev] RFC: dropping support for uclibc-ng by "Anthony G. Basile"
1 On 1/5/2021 16:05, Anthony G. Basile wrote:
2 > On 1/5/21 8:43 AM, Jaco Kroon wrote:
3 >> Hi Thomas,
4 >>
5 >> On 2021/01/05 13:08, Thomas Mueller wrote:
6 >>>> I'd like feedback from people about the possibility of dropping support
7 >>>> for uclibc-ng. If you are unfamiliar, its the successor to uclibc as a
8 >>>> C Standard Library for embedded systems, ie a replacement for glibc
9 >>>> bloat. However, it is inferior to musl which serves the same purpose
10 >>>> and which has now well supported in Gentoo.
11 >>>> I know people want musl support, but does anyone even care about
12 >>>> uclibc-ng? If not, I can work towards deprecating it and putting what
13 >>>> little time I have towards musl.
14 >>>> Anthony G. Basile, Ph.D.
15 >>>> Gentoo Linux Developer [Hardened]
16 >>> Are you the only Gentoo developer working on musl and uclibc-ng?
17 >
18 > I'm the only one working on uclibc-ng. There are some people helping
19 > with musl, especially the overlay.
20 >
21 >>>
22 >>> One thing I might try with a Gentoo uclibc-ng system is convert to musl or glibc using crossdev.
23 >>>
24 >>> From what I see on the internet, there is more support for musl than uclibc-ng, and more people working with musl than with uclibc-ng.
25 >
26 > It does seem that musl is winning the embedded libc race.
27 >
28 >>>
29 >>> There is a musl-cross-make cross-toolchain that can be built from non-musl or even non-Linux.
30 >>>
31 >>> https://github.com/richfelker/musl-cross-make
32 >>
33 >> I've used crossdev in the past.  It was a nasty experience, but I
34 >> believe crossdev in Gentoo is getting better and better, and it supports
35 >> many more targets.
36 >
37 > Yes it is, which is why I'm preparing pre-build stage3's on several
38 > arches so you don't have to x-compile. I've done the nasty part for you.
39 >
40 >>
41 >>> From what I have seen, musl looks more promising than uclibc-ng, and more user- and developer-friendly.
42 >>>
43 >>> Unless somebody wants to take over uclibc-ng for Gentoo, I say better for you, with your limited time, to drop uclibc-ng in favor of musl.
44 >
45 >
46 > Correct, if I had the time, I'd continue to support both. But my time
47 > is limited, so I need to concentrate. I'm just looking for anyone to
48 > scream if I'm destroying their world by dropping uclibc-ng. If no one
49 > does, then I'll begin the process of removing it from the tree.
50 >
51 >>
52 >> Not doing embedded work at the moment, but just out of hand as of right
53 >> now if I had to make a choice I'd definitely look at MUSL as first
54 >> choice.  So +1 for that suggestion.
55 >>
56 >> Kind Regards,
57 >> Jaco
58
59 I was using uclibc-ng builds for MIPS to build netboot images between 2017
60 and 2019 to refine my build processes. uclibc-ng still produces smaller
61 overall binaries and libs for the netboot than musl does (usually ~1MB
62 smaller, which is actually significant, especially on SGI IP22 systems).
63
64 Unfortunately for uclibc-ng, it stopped working for me in ~2019. I have no
65 clue why, either. The March 2019 uclibc-ng MIPS stage3 I built internally
66 works perfectly fine when you unpack it and leave it alone, but as soon as
67 you compile *anything* more recent with the compiler that's when the
68 breaking begins.
69
70 Rebuilding ncurses in this stage3 will break Python, which breaks emerge.
71 Never figured it out. I can trace the failure using GDB to a point in
72 Python, but not much farther beyond that. I assume the true cause is
73 something in uclibc-ng itself. Upstream seems to like to borrow chunks of
74 glibc for things, and I wonder if that may be partly to blame.
75
76 I eventually gave up and went to musl for MIPS/o32. musl quite literally
77 JustWorks(). It's great. Even with that tiny bit of bloat in the netboot
78 build (workable, cause I needed to make NFS Root an option anyways).
79
80 So long story short, I won't shed any tears if uclibc-ng goes away.
81
82 --
83 Joshua Kinard
84 Gentoo/MIPS
85 kumba@g.o
86 rsa6144/5C63F4E3F5C6C943 2015-04-27
87 177C 1972 1FB8 F254 BAD0 3E72 5C63 F4E3 F5C6 C943
88
89 "The past tempts us, the present confuses us, the future frightens us. And
90 our lives slip away, moment by moment, lost in that vast, terrible in-between."
91
92 --Emperor Turhan, Centauri Republic

Replies

Subject Author
Re: [gentoo-dev] RFC: dropping support for uclibc-ng Thomas Mueller <mueller6724@×××.com>