In two places, the code use #if defined(_GNU_SOURCE) to determine whether certain locale facilities are present in the environment.
I suspect the code wants to test whether the C library is the GNU C library, which is __GLIBC__. _GNU_SOURCE is something the source file sets to tell the GNU C Library header files that the code is designed for GNU extensions in that library.
Incidentally, just having GNU C Library isn't enough to know these facilities are available. It takes a recent version of it. For example, I found GNU C Library Version 2.2.2 does not have them.
The two places are:
Additional advice: The value of __GLIBC__ is the major release number. __GLIBC_MINOR__ is the minor release number. So GNU C Library version 2.7 as __GLIBC__ = 2, __GLIBC_MINOR__ = 7.
Feel free to provide a patch to fix these issues. Thanks.
Created attachment 42625 [details] [review]
Patch to use the proper feature test / feature request macros
I pushed a patch that stops detecting dlopen presence based on _GNU_SOURCE, but more _GNU_SOURCE usage still remains.