The check for O_DIRECT uses the following conftest.c: #Long list of defines #include <unistd.h> #ifdef HAVE_FCNTL_H #include <fcntl.h> #endif int main () { int fd = open("/dev/null", O_DIRECT); ; return 0; } Unfortunately, the knob HAVE_FCNTL_H is not part of the long list of defines -- the check for the presence of fcntl.h happens later in the configure script. So <fcntl.h> does not get included and O_DIRECT remains undefined, even when the OS supports it. It is possible, other flags are similarly misdiagnosed as well.
Created attachment 8413 [details] Patch for 3.6 This fixes it for me
Created attachment 8414 [details] Patch for master Jeremy, if it does it for you as well, please push to master. The patch also applies to 4.0 with some auto-merging messages, so it should be good for v4-0-test
Comment on attachment 8414 [details] Patch for master Applies to 4.0.x using "patch" command, not with git am (for me).
(In reply to comment #3) > Comment on attachment 8414 [details] > Patch for master > > Applies to 4.0.x using "patch" command, not with git am (for me). Just out of curiosity: Did you try "git am -3"?
Oh no - didn't know about git am -3. Thanks for the tip ! Jeremy.
Comment on attachment 8413 [details] Patch for 3.6 LGTM.
Re-assigning to Karolin for inclusion in 3.6.next and 4.0.next. Jeremy.
Pushed to v3-6-test and autobuild-v4-0-test.
Pushed to v4-0-test. Closing out bug report. Thanks!