Simply disabling the code which enables floating point exceptions is probably wrong, but I don't have a replacement for the non-posix functions fegetexcept(3) and feenableexcept(3). --- a/src/Main/bootstrap.cxx 2015-02-18 21:10:05.000000000 +0100 +++ b/src/Main/bootstrap.cxx 2015-11-01 01:25:56.665212195 +0100 @@ -96,8 +96,12 @@ initFPE (bool fpeAbort) { +#if defined(__GLIBC__) if (fpeAbort) { int except = fegetexcept(); feenableexcept(except | FE_DIVBYZERO | FE_INVALID); } else { signal(SIGFPE, handleFPE); } +#else + signal(SIGFPE, handleFPE); +#endif There is no in musl libc, thus enable the include only if __GLIB__ is defined. --- a/3rdparty/iaxclient/lib/libiax2/src/iax.c 2015-02-18 21:10:05.000000000 +0100 +++ b/3rdparty/iaxclient/lib/libiax2/src/iax.c 2015-10-31 17:14:55.477461723 +0100 @@ -75,7 +75,7 @@ // FlightGear: Modified to include FreeBSD #if !defined(MACOSX) && !defined(__OpenBSD__) && !defined(__FreeBSD__) #include -#if !defined(SOLARIS) +#if !defined(SOLARIS) && defined(__GLIBC__) #include #endif #endif --- a/src/Main/bootstrap.cxx 2017-03-17 09:52:07.474706542 +0100 +++ b/src/Main/bootstrap.cxx 2017-03-17 09:53:40.361793507 +0100 @@ -141,7 +141,7 @@ } #endif -#if defined(__GNUC__) +#if defined(__GNUC__) && defined(__GLIBC__) #include #include void segfault_handler(int signo) { @@ -244,8 +244,10 @@ signal(SIGPIPE, SIG_IGN); # ifndef NDEBUG +# ifdef __GLIBC__ signal(SIGSEGV, segfault_handler); # endif +# endif #endif _bootstrap_OSInit = 0; --- a/src/FDM/JSBSim/JSBSim.cpp 2017-03-01 21:06:31.000000000 +0100 +++ b/src/FDM/JSBSim/JSBSim.cpp 2017-03-17 09:49:13.115544107 +0100 @@ -287,7 +287,7 @@ _clearfp(); _controlfp(_controlfp(0, 0) & ~(_EM_INVALID | _EM_ZERODIVIDE | _EM_OVERFLOW), _MCW_EM); -#elif defined(__GNUC__) && !defined(sgi) && !defined(__APPLE__) +#elif defined(__GNUC__) && !defined(sgi) && !defined(__APPLE__) && defined(__GLIBC__) feenableexcept(FE_DIVBYZERO | FE_INVALID); #endif For musl libc return the file position using ftell(3) because fpos_t is opaque. --- 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 /* _WIN32 || __CYGWIN__ || __APPLE__ || __ANDROID__ */ } HTS_error(0, "HTS_ftell: Unknown file type.\n");