membrane_core
membrane_core copied to clipboard
Create precompiled builds that work on systems utilizing musl libc
Currently precompiled builds work only on systems with glibc, which excludes musl libc systems from benefiting from them, from which the most notable is Alpine.
Problem:
Up until now we used homebrew to get builds for different systems and architectures. However it seems that homebrew needs glibc and therefore I suspect it installs libraries built using glibc.
Solution:
Create a similair sandbox, but instead of homebrew use Alpine's apk package manager. I believe this should be much less complex than our setup with homebrew, because we won't have to deal with MacOS and we already have a good framework of hosting and fetching the builds.
apk observations:
- libs are installed to
/usr/lib
(sometimes nested) - headers are installed to
/usr/include
- for headers to be available most packages need to be installed with
-dev
suffix - there is no option to force uninstall dependencies of packages
- to get rid of unwanted libs from being published you can use
apk info <package_name> --contents | grep ^usr/lib/.*.so
to get all libs from an unwanted package (such as alsa-lib)