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
configure.ac: Define _DEFAULT_SOURCE along with _XOPEN_SOURCE #1711
Conversation
Otherwise the configure check for mmap fails with compilers which do not support implicit function declarations because the check relies on the presence of the getpagesize function.
|
[I'm commenting from the perspective of your pysam PR, but we might as well keep the conversation in one upstream place.] The underlying problem is that |
|
Did you actually observe an As far as I know, the failure is specific to certain packages that change build flags in unexpected ways, such as by defining This was discussed earlier this year on the bug-autoconf list: |
|
As implied by my comment, with or without your patch we observe this failure on macOS: Just like on Linux, the “checking for getpagesize” check just checks that a This then leads to the error encountered, as the /* Removed in Issue 6 */
#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200112L
int getpagesize(void) __pure2 __POSIX_C_DEPRECATED(199506L);
[…]
#endifThus there is no real way to resurrect macOS It seems to me that As The unchanged develop HTSlib configure.ac as processed by current git (v2.72d-1-g8013f030) autoconf produces a configure script in which this mmap check produces the expected results on macOS: I have not tested it, but I would expect that it does on Linux too. So IMHO this is an autoconf problem that will soon be fixed by an upcoming autoconf release. (In the meantime, if it wanted to be an overachiever, HTSlib could carry its own improved |
|
It looks like the only code using |
|
For the htslib 1.19 release, I used autoconf 2.72d which appears to have made a In future work, I may try to remove some of the calls that need |
Otherwise the configure check for mmap fails with compilers which do not support implicit function declarations because the check relies on the presence of the getpagesize function.
Related to: