NUMA should probably not be used under Cygwin
Patch 41fc4e43 apparently provided by Scott Field assumes that NUMA can be used under Cygwin. I have been able to find no evidence that it should. AFAIK pthreads should be fine under Cygwin.
Secondarily, src/gmxlib/thread_mpi/numa_malloc.c and include/thread_mpi/numa_malloc.h use some compiler flags to select whether to try to use NUMA, rather than the results of tests. Such tests only exist for CMake anyway, which raises the question why new functionality was added to the 4.5.5 release.
To resolve, I suggest changing the sense of the CYGWIN-related preprocessor conditionals in the above files. I'm happy to do this and test (so that we actually get some quality-assurance for 4.5.6), but perhaps this should be bounced to Scott for feedback.
Permit threads build on Cygwin
Added Windows-specific #defines, and use them
The lack of an elegant way to code "do this on Windows/
Cygwin/whatever" may have contributed to 4.5.5 not compiling with
threading under Cygwin (IssueID #833, which was fixed elsewhere).
#2 Updated by Mark Abraham about 6 years ago
Sander's commit (hash above) was based on things Scott provided, but I'm not going to contact Scott when I think the issue is likely to be Sander's apparently mistaken assumption that NUMA is available under Cygwin. If we're not likely to hear from Sander, then I think the fix in https://gerrit.gromacs.org/#/c/704/ resolves this issue.