Bug 1235 - Statically link Linux natives against musl-libc for deployment on all Linux 2.6 and later systems
Summary: Statically link Linux natives against musl-libc for deployment on all Linux 2...
Alias: None
Product: General
Classification: JogAmp
Component: builds (show other bugs)
Version: 2.4.0
Hardware: All linux
: --- enhancement
Assignee: Sven Gothel
Depends on:
Blocks: 1236
  Show dependency treegraph
Reported: 2015-09-28 11:23 CEST by Xerxes Rånby
Modified: 2015-09-28 11:37 CEST (History)
0 users

See Also:
SCM Refs:
Workaround: ---


Note You need to log in before you can comment on or make changes to this bug.
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 

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.