Linux 二进制兼容性一直是个难题,很大程度上是因为 GLIBC 的整体式设计,它将系统调用、内存管理、线程和动态链接器交织在一起。像 Flatpak 这样的容器解决方案虽然解决了依赖性问题,但也引入了隔离问题和开销,最终感觉像是“Linux 中的 Linux”。JangaFX 倡导静态链接非系统库,并在构建时通过 chroot 环境使用较旧版本的系统库,以实现最大程度的兼容性。 真正的解决方案需要将 GLIBC 重构为不同的库,例如 `libsyscall`、`libdl`、`libheap`、`libthread` 和 `libc`,这与 Windows 的方法类似,可以实现更好的隔离和独立更新。这将把二进制兼容性问题减少到相对较小且更稳定的 `libheap` 和 `libthread`。虽然这种重新架构在共享资源和 POSIX 兼容性方面存在挑战,但这些问题可以通过谨慎的设计来解决。解决这些挑战需要从根本上重新设计 Linux 用户空间的架构,以优先考虑二进制兼容性。