musl libc (http://www.etalabs.net/musl/) is an MIT-licensed libc for
Linux written to conform to standards (X/Open Issue 7 / SUS4, POSIX
2008).  
musl does not implement the nonstandard termio interface, or have
termio.h; it properly uses _POSIX_VERSION to indicate support of POSIX
2008.
There are no macros to check indicating that musl is being used,
though __GLIBC__ is not set.

OpenSSL ./Configure automatically assumes that linux systems use termio.
This can be defeated, but crypto/ui/ui_openssl.c makes it FTBFS
(around line 184):

#if defined(linux) && !defined(TERMIO)
#undef TERMIOS
#define TERMIO
#undef SGTTY
#endif

Please remove this block or fix it so as to allow building with TERMIOS
on Linux.

Additionally, musl does not support dlinfo. This requires adding 
(defined(__linux__) && !defined(__GLIBC__))
to the blacklist of platforms not supporting dlinfo in
crypto/dso/dso_dlfcn.c, near line 87.

After patching these, openssl compiles with -D_GNU_SOURCE -D_BSD_SOURCE
using musl.

Isaac Dunham

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to