|Summary:||Statically link Linux natives against musl-libc for deployment on all Linux 2.6 and later systems|
|Product:||[JogAmp] General||Reporter:||Xerxes Rånby <xerxes>|
|Component:||builds||Assignee:||Sven Gothel <sgothel>|
|Bug Depends on:|
Description Xerxes Rånby 2015-09-28 11:23:57 CEST
JogAmp currently dynamically link against glibc on linux, unfortunally glibc is not backward compatible with all glibc versions causing JogAmp modules to fail to load if you try to use JogAmp on a Linux system older than the last long term support release. Compiling and statically linking JogAmp modules against musl-libc is a way to make jogamp compatible with all Linux 2.6 and later systems. Musl is Licensed under permissive MIT license http://www.musl-libc.org/intro.html What are musl’s dependencies? Linux 2.6 or later. Earlier versions will suffice for running most simple single-threaded programs, but due to bugs and conformance issues at the kernel level, musl is not offically supported on earlier kernels. A supported cpu architecture: i386, x86_64, arm, mips, microblaze, or powerpc. Experimental ports to sh (superh) and x32 (x86_64 32-bit ABI) are also available. When building musl, you will also need a C99 compiler with support for gcc-style __asm__ statements and assembly source files, and weak symbol support in the linker. gcc 3.3 or later (with the GNU assembler and linker) and clang 3.2 or later are known to work. Users have also had success building musl with PCC and Firm/cparser. For compiling and linking programs against musl, almost any standards-conforming C compiler (even pre-C99) should work. http://www.musl-libc.org/faq.html
Comment 1 Sven Gothel 2019-03-29 14:03:51 CET
And the following is rendering this idea invalid. "Earlier versions will suffice for running most simple single-threaded programs, but due to bugs and conformance issues at the kernel level, musl is not offically supported on earlier kernels"