-
Notifications
You must be signed in to change notification settings - Fork 259
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
Build failure on Alpine Linux #1229
Comments
Thanks for the report. However, this is not specific to a certain version of fluidsynth, it rather affects all of them, as I am not aware of anyone having ever tried to compile this on a non-glibc based distribution. Also, all of our Linux-CI builds are compiled against glibc. Apparently, musl handles these old BSD functions #include <strings.h> below this line fluidsynth/src/utils/fluidsynth_priv.h Line 45 in 4d8fe63
makes it work? |
it does, then after:
|
Ok, so no quick fix, I see. Then we have to approach it step by step, whereas the first step would be to add a CI build which compiles fluidsynth inside an Alpine Linux Docker container. It will take a bit before I find time to do so. |
the latter is fixed by setting -D_GNU_SOURCE as a compiler define (instead of inside a file, like what src/bindings/fluid_rtkit.c does). the reason why is that fluid_rtkit.h/fluid_sys.h already includes some system headers, then later the one solution is to move the define above every include in the .c (before the fluid_rtkit.h inclusion), another is to set it globally in cmake instead of inside these files. |
I finally found some time for setting up a CI build. Unfortunately, I'm not able to reproduce the build failure reported by @PureTryOut. I'm using this Dockerfile which builds the container and runs the build in this pipeline. But as you can see in Azure DevOps, the build succeeds (there are some minor warnings though). I'm not using Alpine edge, as I believe it's better to use a stable version for CI builds. Any idea what else I might be missing or why gcc doesn't complain about |
Indeed, musl's
so it'll depend on the compiler used and the |
I finally got it reproduced. The macro |
Will be fixed in 2.3.3. |
FluidSynth version
2.3.2
Describe the bug
Build failure.
Expected behavior
The build to succeed.
Steps to reproduce
Build fluidsynth on a fully updated Alpine Linux edge system.
The text was updated successfully, but these errors were encountered: