Masthash

#musl

Rich Felker
3 weeks ago

In case anyone's wondering, this has come up again because, if all goes well, #musl is finally going to be getting first-class IDN support! 🥳

Aral Balkan
1 month ago

Sadly, it looks like no one was able to solve the issues around creating a Node.js binary for Musl on arm64, so it looks like Kitten¹ won’t be available on @postmarketOS on mobile phones, etc., in the foreseeable future (unless someone with the necessary knowledge and time can step up right away before this commit is reverted).

https://github.com/nodejs/unofficial-builds/pull/59#issuecomment-1451256522

¹ https://codeberg.org/kitten/app

#musl #nodeJS #arm64 #arm #kitten #SmallWeb #SmallTech

Rich Felker
1 month ago
Rich Felker
1 month ago

OK, back to some #musl stuff: it's always interesting to me how some folks' reaction to it revealing a bug in calling code has been "can you make it stop doing that?" rather than being thankful and fixing the bug in the calling code. 🙃

Aral Balkan
1 month ago

Wonder if anyone has any ideas why the new Alpine Linux musl/ARM64 Node.js build is failing and/or can help fix it.

https://github.com/nodejs/unofficial-builds/pull/59#issuecomment-1436328696

If we can get this fixed soon-ish (before it’s reverted) it’ll mean – among other things – that Node.js will run on @postmarketOS on phones and other mobile devices.

CC @martijnbraam @alpinelinux

#NodeJS #postmarketOS #musl #alpineLinux #arm #arm64 #helpWanted

Rich Felker
2 months ago

With pending bugs/patches mostly done (push coming soon), working up slowly towards a #musl 1.2.4 release now! Gigantic WHATSNEW summary in draft.

testssl.sh :verified:
2 months ago

If you're using #docker images for #testssl.sh you should do a "git pull".

#musl libc seems to have performance problems wrt #glibc .

Thanks to polarathene (https://github.com/drwetter/testssl.sh/issues/2299)

Aral Balkan
2 months ago

Imagine Node.js running on a @PINE64 PineBook or PineBook Pro with @postmarketOS… could be very useful for education (not to mention make development more accessible in general).

https://github.com/nodejs/unofficial-builds/pull/59

(If this pull request gets merged, Kitten – https://codeberg.org/kitten/app – will be able to run on the PinePhone and be used for Small Web development on it.)

#nodeJS #postmarketOS #alpineLinux #arm #musl #JavaScript #SmallWeb #SmallTech #mobile #education

The Linux desktop is a horrifying mess, what we need is a complete withdrawal from the awful complexity. I’m working on #YAC so I can one day create my own distribution, and I vow to create simpler alternatives for the sound server (no more alsa/pulse/jack/pw stack), the display server situation, and worst of all, the web browser situation. It will also not contain any trace of the following:
- #systemd
- #dbus
- udev
- (e)logind
- #polkit
- #GNU (coreutils, #bash, #gcc & glibc)
- mandb
instead opting for
- #dinit
- mdev or smdev, not sure yet
- seatd
- YAC, #BusyBox, and #BSD utilities where applicable
- #musl libc & the tiny c compiler (#tcc)
- Almquist Shell (#ash)/Debian ash (#dash)
- mandoc & related utilities

For more information and updates on development, or to contribute yourself, you can join the Tebibyte Media Discord “server” or subscribe to the RSS feeds at:
https://tebibyte.media/discord
https://git.tebibyte.media/yac

Rich Felker
2 months ago

@jbzfn AIUI @alpinelinux's Firefox package disables malloc replacement and is thus using #musl's mallocng, one of the most hardened allocators available.

Rich Felker
2 months ago

Happy ending to a disturbing bug report with #musl: application was calling free() from a signal handler, introducing a sort of allocator state corruption I hadn't seen before. https://www.openwall.com/lists/musl/2023/01/27/1

Rich Felker
2 months ago

Yay, #musl mallocng just found yet another buffer overflow, this time in iwd. Which apparently nobody runs under valgrind... 🤦

PureTryOut
2 months ago

@snaums @postmarketOS It's possible, but highly recommended against. You're fundamentally changing what #AlpineLinux and #postmarketOS are. I'd recommend using a different distro instead.

What problems do you have with #Musl?

Rich Felker
2 months ago

In this case, trying to compile against glibc and link against #musl. 🤦 And claiming musl is broken when it doesn't work.

Rich Felker
3 months ago

I know #musl has a lot of places where code is doing stuff to satisfy hidden constraints/requirements, like inability to allocate resources (at all or after a point of an operation having caused irreversible side effects) and I think it would be nice for these to be more obvious to readers.

Rich Felker
3 months ago

Ok, idea for a fun game I'm going to play/host when I'm back home: folks reading #musl point out places where it's not obvious *why* something is being done the way it is, and I get to either add comments, clarify/simplify the code, or cite an existing explanation somewhere in the repo.

Aaron Ash
3 months ago

@nova I was curious what #guix could do, 24MB gnu-hello image with gzip or 20MB with zstd. Bigger than I'd hoped. That's still with the default glibc, wonder if guix or #nix can build docker images with #musl.

Rich Felker
3 months ago

New round of test case failure reports against #musl fnmatch and they're all from systemd-originating tests asserting wrong behavior from glibc and undefined behavior matching glibc. 😂

Rich Felker
3 months ago

New WONTFIX hall of shame entry courtesy of #musl folks: https://bugs.openldap.org/show_bug.cgi?id=8988

Thomas Weitzel
3 months ago

I'm running Ubuntu servers with LTS versions, from 16.04 to 22.04. My development system runs on the latest version, so building #Rust executables for x86_64-unknown-linux-gnu will not run on older versions due to the GLIBC dependency.

Instead of building the executable in a #Docker container with the same OS version as the target system, I opted for the #MUSL target instead. It adds a little overhead, but the whole process is much simpler.

What would you do? What do you think is better? Why?

nmeum
3 months ago

Happy to report that the entirety of our #AlpineLinux gccgo compatibility patchset for #musl libc has now been integrated upstream. If you are using Go on a musl-based Linux distribution, consider bootstrapping it using gccgo: https://github.com/golang/go/issues/51280#issuecomment-1362855803

Is it still "#GNU / #Linux" if you replaced glibc with #musl, GCC with #clang, and a bunch of other tools with non-GNU alternatives like libarchive? Or is it "musl/LLVM/FreeBSD/.../Linux" then?

#Gentoo

Rich Felker
4 months ago

This is classic systemd acting like they have editorial control over libc interfaces. Why over at @musl #musl we don't engage with their demands.

Daniel Isaksen
4 months ago

@rwlowry Mostly because there are no simple, fast, no-bullshit options that vaguely resemble #RHEL.

It's something I've really missed at work where certain colleagues insist on staying at least somewhat compatible with RHEL. Besides, I like how #DNF handles transactions and history even if the spec files are written in a terrible DSL.

I don't particularly condone VMware's business practices but #tdnf is one of their simpler, more open projects.

#AlpineLinux and #musl also, in my opinion, can focus a bit too much on correctness to the point where it impacts usability, compability and freedom of choice.

Rich Felker
5 months ago

@rnd Sorry! #musl's locale support has very little user feedback and known problems that I'd love to rework, but feel stuck without more engagement from folks who will want to use the results (and who are also willing to wade a little into technical details).

lazy cat ☮️
5 months ago

Today I tried to upgrade my #Pleroma instance up to the version 2.4.4. For some time past I use OTP version bundled with all libraries. But the crucial point is #Alpine #Linux running in #LXC container. Official guide recommends to use v3.10, but I stick with 3.11 since it’s the last version with some additional erlang packages which are absent in more recent versions.

So, as usual, the upgrade went smoothly with pleroma_ctl update --branch develop. But after pleroma_ctl migrate I’ve got very strange result:

Error relocating /var/lib/pleroma/release/erts-10.7.2.18/bin/beam.smp: pthread_getname_np: symbol not found

Well… I checked the binary with ldd and confirmed that it depends on libc.musl-x86_64.so.1. Quick search led me to #musl repo, where I found the particular commit where pthread_getname_np function was added. It turned out that this commit was added 3 months after release 1.2.2 and almost a year before release 1.2.3. Mentioned musl versions were integrated in Alpine versions 3.15 and 3.16 accordingly. So the easiest way was to upgrade my Alpine container to 3.16 and enjoy. But I don’t look for easy ways. Instead I downloaded Pleroma release 2.4.3 archive with erts version 10.7.2.17, unpacked erts directory only, added it to release folder in Pleroma installation and changed in source files all references to erts binary path from 10.7.2.18 to 10.7.2.17. And voilà, my pleroma server works again!

Kees Cook :tux:
5 months ago

The #LinuxKernel has 2 #ELF loaders: one for executables and one for the interpreter (PT_INTERP). The latter is rather simple and expected only the last PT_LOAD to need zero padding. #LLD linking #musl's libc.so started doing this with multiple PT_LOADs...

Hopefully this will fix the bug
@dalias noticed:
https://lore.kernel.org/linux-hardening/20221111061315.gonna.703-kees@kernel.org/

I hope to merge these loaders in the future, but first we need better unit tests.

PureTryOut
8 months ago

@Fu @agx His phone OS is, but there is also #postmarketOS which I wouldn't call GNU (being based on #alpinelinux and #Musl and #Busybox) but also isn't Android.

@kdrummond i wiped out mxlinux for a minimal voidlinux based on musl instead. And made a custom xfce-look to it. I am very pleased. #voidlinux #musl #xfce big fan of the Dracula themes.

@peterk@mastodontech.de thanks for the tip. Indeed installing Alpine's flex-dev package (their naming conventions are slightly different from Debian's) provided the required files. Unfortunately now I'm getting build errors as reported by the make recipe, so I guess I'd have to report this as a bug for the maintainer.

My gut feeling is these issues arise from linking against #musl. I've had similar problems with my own programs when compiling in alpine before.

TobTobXX
1 year ago

YESSSS, I sucessfully cross-compiled a rust gui application from Archlinux x86_64 to postmarketos aarch64 (pinephone) without emulation and thus quite acceptable performance!

I'll write up the process and publish a blog or sth. for other poor souls soon.

#linuxmobile #rust #crosscompile #musl #postmarketos

Boiling Steam
1 year ago

Linux Standard Library Implementations: X32 can be 10% faster, but musl Libc 40% slower: https://www.youtube.com/watch?v=wq-a8juPFzs #linux #glibc #musl #libc #performance #comparison #standardlibrary #x32

Linux ✅
2 years ago

Adélie Linux calls for assistance!

The people behind this promising distro are looking to expand their community of users & developers.

Adélie Linux is based on musl runtime library focusing on reliability, security, compatibility, portability, usability.

They even aim eventually to operate smoothly without any GNU components, utilizing Busybox or similar.

Please contact them if interested.

==> https://blog.adelielinux.org/2021/08/31/power-to-the-people
_
#Adelie #Linux #musl #libre #help #testing #developers #community #GNU

@tobtobxx @linmob Yepp, I gave up on getting the current version of #anki running on #postmarketos #musl. I changed to 2.1.15 which was the last version with a build system that I could at least remotely comprehend: https://pkgs.alpinelinux.org/package/edge/testing/x86/anki

Hyperreal Gopher :debian:
2 years ago

Is there any advantage to using something like this (for static builds) https://github.com/utdemir/ghc-musl over just installing all the haskell depends via APK in alpine the normal way and building from there? like how fossa/haskell-static-alpine does it. I don't understand what the advantage of musl would be in this context.

#haskell #musl

Hyperreal Gopher :debian:
2 years ago

Is #Stack and something like #AppImage the only simple way to produce releases/binaries in #haskell? I spent the last few days trying to get #bazel, #musl, and #nix to play nice to produce static binaries, but no such luck.

Hyperreal Gopher :debian:
2 years ago

Here I was trying to get static builds with #musl, #bazel, and #nix working, when it turned out I can't even build the demo included. I should've tested the demo first before diving in.

https://github.com/lunaris/minirepo

3 years ago

#musl is a lightweight libc.

musl is a lightweight and standards compliant #C standard library implementation. musl uses Linux calls very closely, making it faster than more general standard libraries as better kernel-specific optimizations are made. musl is highly compatible with standards as well as with glibc, allowing for it to serve as a drop in replacement in many cases.

Website 🔗️: https://musl.libc.org/

apt 📦️: musl musl-dev

#free #opensource #foss #fossmendations #programming