Hacker Newsnew | past | comments | ask | show | jobs | submit | awilfox's commentslogin

There are many, many users for every one of us packagers. We (at least the four I am aware of, including myself) are not doing 'gotta catch em all', we're doing "we have been notified by users that this package (is not|no longer) working". And it looks like 'gotta catch em all', because there are so many users, still.

There are new users asking how to get Raspberry Pis into aarch64be mode in the Gentoo Arm project channels. There are thousands and thousands of Power Macs. SPARC servers with ridiculous amounts of cores and computer power are super cheap on eBay because Oracle ended support for them - and this is a great way to get a huge thread count cheap, if your software actually runs on it.

Make the BE CI optional if you need to. That way, the maintainer has time to find and fix it, and you can still merge other changes while it runs. What binutils did was have the BE CI run separately and specifically ping the BE maintainers - that way, they know the build's failing, and no one else is bothered with it.


Ooh, another +1 for reasons to maintain 32-bit support. Thanks for the tip.

The systemd journald test is the longest one on my 3 GHz Power9 system, nearly timing out:

    1475/1475 systemd:libsystemd / test-journal-verify                                    OK              28.44s
but on x86 it runs in under 1s. Not sure the deal there.


I'm not familiar enough with the POWER ISA or POWER9 systems to have any idea what's going on there, but that is surprising.


That would be amazing, but I don't imagine that malloc internal probes would be readily accepted to musl even if they were improved. One of the things musl admits is the ability to swap allocators around; you can just LD_PRELOAD a new one. Or even, with Chimera, replace the stock one too! Having internal debug probes would mean every allocator you want to use would need to provide those same APIs, and I don't find that particularly reasonable.


chimera does not interpose malloc, we outright patch it out inside musl, so not really something musl would support


How is musl special when it comes to interposing malloc? As far as I’m aware, (dynamically) swapping out malloc implementations is a messy business no matter what. Most libc implementations only “support” the behavior in the sense that they won’t stop users from “swimming in the deep end”, so to speak.


malloc_info() is not consumed internally but it is only wired up as a debugging utility via systemd-analyze, which is sorely needed when things go bad in strange and weird ways. It would be entirely fine for a libc to just implement a stub that returns a fixed string:

<malloc version="0">Not implemented</malloc>

or so.


It's true. systemd has a lot of good ideas with questionable implementations. I'd love networkd if it didn't have silly decisions made.

And it has some questionable ideas with good implementations. For example, I hate the journal, but admit it is implemented well.

At the end of the day, it's about tradeoffs and using what suits the system at hand. For some people that will be systemd, and bringing systemd to Adélie and other musl libc distributions means that it can be used by those people.

Call me old-fashioned, but I also hold out hope that at least some of those questionable implementations could be fixed if only someone with the desire would write a patch and send it upstream. Bringing systemd to musl means the people in musl land that aren't knee-jerk anti-systemd maybe might be more enthused to do just that, improving it for everyone using it.


A lot of people care about BSDs and embedded Linux systems. Such as: Netflix (FreeBSD), anyone with a Linux-based router or cable/DSL modem, and so on.

That said, parallel startup is possible on those systems too. There was an out-of-tree patch for parallel rc(8) on FreeBSD some time ago, and dinit is parallel, etc. I think OpenRC should move towards making parallel startup stable and supported so that those systems can do that as well.


> Either way, super cool. What's the likelihood that this ends up getting upstreamed?

High: <https://github.com/systemd/systemd/pulls?q=is%3Apr+author%3A...>.



I don't think Lennart changed his opinion, if you look further in this thread[1] Lenart wasn't ever against musl per se, it is more like "we use non-POSIX features from glibc that we found useful, and we are not going to reinvent them, so either convince musl to implement those features or carry patches fixing the issues". That I kind concur with him, instead of workaround missing functions it may be better to just write a compatibility library that complements musl with the missing functions. This way, any program that needs those functions could just import this library if they're compiling in a non-glibc system.

I am seeing that lots of the fixes proposed by the author are things like "missing import because glibc exposes some symbols by mistake and musl does not". And this is definitely the kind of fix that upstream would accept[2].

[1]: https://github.com/systemd/systemd/issues/10130

[2]: https://github.com/systemd/systemd/pull/34066


it may be better to just write a compatibility library that complements musl with the missing functions

It exists. See gcompat.

https://github.com/Stantheman/gcompat


> This library is designed to be used for binaries that are already compiled against glibc. It does not contain any headers, and cannot be used to build software that requires glibc. It is instead recommended that any software that requires glibc APIs be modified to become more portable.

This is exactly the opposite that I was talking about. What I was talking is a library that expose glibc compatible headers to compile software that uses Glibc-isms with minor or zero modifications, but this instead is a compatibility layer for binaries and doesn't expose headers (probably for proprietary software that can't be recompiled).


FWIW, that is an unofficial mirror repo and very old. gcompat lives at https://git.adelielinux.org/adelie/gcompat.


Cursed github monopolizing bing seo for open source projects.


Less than a day later and everything in this list is already merged. Congrats!

Do those PRs represent everything necessary to compile systemd against musl, or are there more PRs coming to finish the job?


And Windows now has WSL to implement the open API, because it's so popular. And implements SSH and sudo, because they're so popular. Etc :)


I care deeply, and was one of the early adopters of the Talos. I do my graphics and design work on an iMac G5, still. Power is the hill I'm willing to die on, technologically speaking. The bi-endianness matters a lot to me. I prefer to do my development on BE, and I get hardware accelerated LE VMs for free on Power.

But the rest of this thread is correct: right now it is a huge cost sink. I recommend people buy Apple Silicon Macs for new hardware unless they really need the owner controlled firmware of a Talos. There's just no denying the M2/M3 spank the Power9 core in every bench, single and multi thread.

I'm eternally optimistic - I was told I was crazy in the dark days of P7 and P8, then the Talos came. Maybe the LibreSoC or PPC Notebook projects deliver? Maybe Talos 3 isn't stupid high cost? I hope, but I don't hold my breath.


LibreOffice is a known pain point we are trying to resolve. Flatpak is on my list of things to package. Firefox and Thunderbird 102 need Rust toolchain updates that are queued but not yet live.

Chromium is a non-starter: it doesn't support musl libc, and even if it did, it doesn't support 3 of our 5 Tier 1 architectures. It also has significant issues regarding reliability, security, portability, and a rapid release schedule that would severely drain our presently limited resources testing all of the patch sets we would need to ship with it to make it work for us. But, when we have Flatpak available, you can always <s>punish yourself with</s> run Chromium via that, I suppose.

I'll look in to Gnome Boxes; thanks for the report.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: