Why we can't use fgetpos is beyond me. Where there's isn't a macro for musl you'll find the answer here: https://wiki.musl-libc.org/faq.html
Ok, good to know
When I say "official support from upstream" i mean that the source should compile without the need of patching. So if these patches could be considered to be merged or some other more correct/elegant solution be found so that it compiles out-of-the-box also with musl libc. Thanks!
VoidLinux and AlpineLinux (both using musl libc) have packages for it. I think it would be nice have official support from upstream. Thanks for considering it!
Yes, it was ported. I'm currently using this patch from VoidLinux iirc: --- a/simgear/misc/strutils.cxx +++ b/simgear/misc/strutils.cxx @@ -43,6 +43,11 @@ #include <windows.h> #endif +#ifdef _GNU_SOURCE +#undef _GNU_SOURCE +#define _POSIX_C_SOURCE 200112L +#endif + using std::string; using std::vector; using std::stringstream; --- a/simgear/package/md5.h +++ b/simgear/package/md5.h @@ -20,9 +20,9 @@ #endif #if defined(_MSC_VER) -typedef unsigned char u_int8_t; -typedef unsigned int u_int32_t; -typedef...
It's ported. I've used this patch: --- a/3rdparty/hts_engine_API/lib/HTS_misc.c 2015-02-18 21:10:05.000000000 +0100 +++ b/3rdparty/hts_engine_API/lib/HTS_misc.c 2015-10-31 17:33:53.946349145 +0100 @@ -247,8 +247,10 @@ fgetpos((FILE *) fp->pointer, &pos); #if defined(_WIN32) || defined(__CYGWIN__) || defined(__APPLE__) || defined(__ANDROID__) || defined(__FreeBSD__) return (size_t) pos; -#else +#elif defined(__GLIBC__) return (size_t) pos.__pos; +#else + return (size_t) ftell(fp->pointer); #endif...
Fix missing includes in non-GNU/GLIBC systems
Packaging simgear for Alpine Linux (busybox/musl)