Reminder that if you get jemalloc errors on software running on Asahi, that's because the jemalloc maintainers refuse to make jemalloc builds portable to all ARM64 systems by default.
Some downstream projects also refuse to override the default for their builds when the issue is raised with them, like Telegram Desktop.
Unfortunately, choices like these are sabotaging the ARM64 Linux ecosystem by explicitly making binaries non-portable, and if people don't listen to our feedback, there is very little we can do to help. These "build for the host page size" approaches are as non-portable as -march=native
, but people seem to think it's okay when you're breaking ARM64 systems and not x86_64 systems for some reason.
To be clear, it's perfectly okay to allow non-portable builds for people who want to rice out their system a la Gentoo. That seems to be the motivation for the jemalloc behavior in the first place.
But the default should always be portability. Always.