[prev in list] [next in list] [prev in thread] [next in thread]
List: gmp-bugs
Subject: 't-locale' test build failure using MinGW-W64
From: sav_ix () ukr ! net (sav_ix at ukr ! net)
Date: 2015-12-23 15:23:34
Message-ID: 1450883894.329088665.539qjst5 () frv39 ! fwdcdn ! com
[Download RAW message or body]
Hi,
Got error while running GMP 'make check', and propose a possible solution .
Used stuff:
- Windows 10,
- MSYS2 x64 (msys2-x86_64-20150916.exe with autoconf, automake, bison, diffutils, \
libtool, make, texinfo, xmlto packages installed),
- MinGW-W64 x86 (v5.2.0, i686-posix-sjlj-rev0) and MinGW-W64 x64 (v5.2.0, \
x86_64-posix-sjlj-rev0),
- GMP-6.1.0 sources (gmp-6.1.0.tar.lz).
Sample GMP build command for shared+x86 configuration:
./configure --prefix="$PWD/../GCC32r/dll" --enable-cxx --enable-shared \
--disable-static ABI="32" CFLAGS="-std=c11 -O3 -pedantic -fomit-frame-pointer \
-frounding-math -m32 -mtune=corei7 -march=corei7 -D__USE_MINGW_ANSI_STDIO" \
CXXFLAGS="-std=c++11 -O3 -pedantic -fomit-frame-pointer -frounding-math -m32 \
-mtune=corei7 -march=corei7 -D__USE_MINGW_ANSI_STDIO" > _configure.log && make && \
make install && make check
For all builds for <shared,static>+<x86,x64> configurations got errors while running \
'make check' (log files added in attachment). Sample error output for GMP build for \
shared+x86 configuration: \
========================================================================= \
C:/ProgramData/MinGW32/bin/../lib/gcc/i686-w64-mingw32/5.2.0/../../../../i686-w64-mingw32/lib/../lib/libmsvcrt.a(dgpgs01145.o):(.text+0x0): \
multiple definition of `localeconv' clocale.o:clocale.c:(.text+0x0): first defined \
here
collect2.exe: error: ld returned 1 exit status
make[4]: *** [t-locale.exe] Error 1
make[3]: *** [check-am] Error 2
make[2]: *** [check-recursive] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
=========================================================================
I propose to detect MinGW (i686), MinGW-W64 (i686) and MinGW-W64 (x86_64) using \
predefined compiler macros __MINGW32__ (common for all MinGW* compilers, \
http://sourceforge.net/p/predef/wiki/Home/) and skip definition #HAVE_LOCALECONV if \
condition is satisfied. Additionaly it allow enable for MinGW* compilers full \
implementation of 't-locale' test instead of running stub. Proposed patches added in \
attachment.
After applying patches I made GMP builds using MinGW-W64 for \
<shared,static>+<x86,x64> configurations and all tests ran successfully (log files \
added in attachment).
Regards,
Alexander
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gmp-clocale.c-mingw.patch
Type: application/x-patch
Size: 331 bytes
Desc: not available
URL: <https://gmplib.org/list-archives/gmp-bugs/attachments/20151223/f9bb4b98/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gmp_make_check_logs.zip
Type: application/x-zip-compressed
Size: 55769 bytes
Desc: not available
URL: <https://gmplib.org/list-archives/gmp-bugs/attachments/20151223/f9bb4b98/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gmp-t-locale.c-mingw.patch
Type: application/x-patch
Size: 632 bytes
Desc: not available
URL: <https://gmplib.org/list-archives/gmp-bugs/attachments/20151223/f9bb4b98/attachment-0005.bin>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic