MinGW/MSYS, GMP make check fails

Sisyphus sisyphus1 at optusnet.com.au
Mon Jul 14 05:06:37 CEST 2008

----- Original Message ----- 
From: "Dave Odell" <dmo2118 at gmail.com>
> (Caveat: I also did a number of other configure/make runs using
> different switches in the same build tree, originally the goal was to
> get a build of "configure --disable-static --enable-shared
> --disable-fft --build=i586-pc-mingw32 --enable-cxx" working.)

This issue has been raised here a couple of times previously (with no 
replies on both occasions, iinm).

Firstly, afaik, the problem arises only with "shared" builds - not static 
Secondly, apart from the failure of 'make check', everything seems fine. The 
created GMP library seems to be perfectly functional when apps are built 
against it.

I would therefore envisage that when you build with 
"./configure --disable-static --enable-shared
--disable-fft --build=i586-pc-mingw32 --enable-cxx" you do end up with a GMP 
shared library that functions correctly. It's just that you can't actually 
verify that by running 'make check'. (Please correct me if any of the above 
is wrong.)

It would, of course, be good to see this problem fixed. I (tentatively) 
asked on the mingw mailing list whether it might be a problem with the msys 
shell that accounts for this failure, but that notion was scoffed at.

For a workaround (untested), if you have Cygwin, you could build in the 
Cygwin shell, cross-compiled for native Win32 - something like 
"./configure --disable-static --enable-shared --disable-fft  --host=i586-pc-mingw32 
 --build=i686-pc-cygwin --enable-cxx CC='gcc -mno-cygwin ' 
host_alias=i586-pc-mingw32". That might enable you to build the library the 
way you want it, *and* have 'make check' pass all tests. (I've done such a 
thing - but only for static builds of GMP. Faik, 'make check' might still 
fail if you cross-compile a *shared* build.)


More information about the gmp-bugs mailing list