-
-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Musl libc support, scons detection for libexecinfo #2439
Comments
You can already build Godot with musl by installing libexecinfo then passing Currently, you'll also need to patch VHACD or disable it using |
@Calinou After installing http://distcache.freebsd.org/local-distfiles/itetcu/libexecinfo-1.1.tar.bz2 compilation errors are generally fixed |
gnu_basename function should be fixed by godotengine/godot#51429 |
Describe the project you are working on
Musl support for Godot
On distributions like Alpine Linux or Gentoo Linux musl support seems to be already feature-complete.
With the use of glibc macros in the Godot source code (for debugging / stack traces) Godot can't be compiled on those systems by default.
This proposal is about modifying the linuxbsd platform implementation to apply glibc macros only if glibc is available on the system.
As an example the
basename
function which is included in the glibc headers differ from the musl implementation so it might be needed to "reimplement" it in the godot source code itself (see patch below).Of course the glibc implementation is more widespread on linux desktops but with the support of other libc implementations for linuxbsd (at least at source level) godot would be POSIX-compliant and therefore open for other linux platforms like servers or embedded systems without glibc.
Describe the problem or limitation you are having in your project
Godot currently only runs on Linux distributions with glibc as libc implementation. On distros with musl libc, it won't compile.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Patch the Godot source code so glibc specific features will only be enabled if glibc is available on the system.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Example patch for musl ( all deleted lines of code should contain
#ifdef __GLIBC__
instead so it doesn't break compatibility with existing glibc systems running godot):If this enhancement will not be used often, can it be worked around with a few lines of script?
Providing the patch in a separate "gd_tweaks" repository or fork would be possible but because this has to be applied to the source code, an upstream pull request for the main godot repository would be better.
Is there a reason why this should be core and not an add-on in the asset library?
It can't fix the buildsystem.
The text was updated successfully, but these errors were encountered: