gmp 5.0.2 configuration error on mingw

Bruno Haible bruno at clisp.org
Sat Jan 14 22:58:31 CET 2012


Hi,

I've built dozens of packages already for mingw, from a Cygwin environment,
using the commands

PATH=/usr/local/mingw/bin:$PATH
./configure --host=i586-pc-mingw32 --prefix=/usr/local/mingw \
            CC="gcc-3 -mno-cygwin" CXX="g++-3 -mno-cygwin" \
            CPPFLAGS="-I/usr/local/mingw/include -Wall" \
            LDFLAGS="-L/usr/local/mingw/lib"

With gmp 5.0.2 this configuration fails:

configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
-pc' not recognizede `atom... Invalid configuration `atom
-pc-cygwin failed /bin/sh ./config.sub atom

Apparently this is because the config.guess program of gmp-5.0.2
returns a weird result on this platform:

$ CC="gcc-3 -mno-cygwin" ./config.guess | od -t x1
0000000 61 74 6f 6d 0d 2d 70 63 2d 63 79 67 77 69 6e 0a
0000020

As you can see, the output is "atom\r-pc-cygwin\n" with a CR in the
middle and a NL at the end.

The correct result should be "i586-pc-cygwin\n" or "atom-pc-cygwin\n"
if you prefer.

This suggested patch fixes it. Together with the upgrade to libtool 2.4.2
(see the mail with subject "gmp fails to configure when I pass --host")
this patch allows the configuration to succeed.


2012-01-14  Bruno Haible  <bruno at clisp.org>

	Fix determination of build platform when cross-compiling to mingw.
	* config.guess: Don't emit a newline after the detailed cpuid.
	This newline may end up being a CR-LF sequence.

--- config.guess.bak    2011-05-08 11:49:29.000000000 +0200
+++ config.guess        2012-01-14 22:40:41.936875000 +0100
@@ -787,7 +787,7 @@
        }
     }
 
-  printf ("%s\n", modelstr);
+  printf ("%s", modelstr);
   return 0;
 }
 EOF




More information about the gmp-bugs mailing list