Hi,
I am getting a redefinition of 'vsnprintf' when trying to build a 32-bit gcc
9.5.0 (sjlj/posix) with mingw-builds:
if [ x"" != x ]; then \
/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/xgcc
-B/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/
-B/mingw32/i686-w64-mingw32/bin/ -L/mingw32/i686-w64-mingw32/lib
-L/mingw32/mingw/lib -isystem /mingw32/i686-w64-mingw32/include -isystem
/mingw32/mingw/include -B/mingw32/i686-w64-mingw32/bin/
-B/mingw32/i686-w64-mingw32/lib/ -isystem /mingw32/i686-w64-mingw32/include
-isystem /mingw32/i686-w64-mingw32/sys-include -fno-checking -c
-DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format
-fno-checking -gtoggle -I. -I../../../../src/gcc-9.5.0/libiberty/../include
-W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -Wshadow=local
-pedantic -D_GNU_SOURCE ../../../../src/gcc-9.5.0/libiberty/vsnprintf.c -o
noasan/vsnprintf.o; \
else true; fi
/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/xgcc
-B/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/
-B/mingw32/i686-w64-mingw32/bin/ -L/mingw32/i686-w64-mingw32/lib
-L/mingw32/mingw/lib -isystem /mingw32/i686-w64-mingw32/include -isystem
/mingw32/mingw/include -B/mingw32/i686-w64-mingw32/bin/
-B/mingw32/i686-w64-mingw32/lib/ -isystem /mingw32/i686-w64-mingw32/include
-isystem /mingw32/i686-w64-mingw32/sys-include -fno-checking -c
-DHAVE_CONFIG_H -g -O2 -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format
-fno-checking -gtoggle -I. -I../../../../src/gcc-9.5.0/libiberty/../include
-W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -Wshadow=local
-pedantic -D_GNU_SOURCE ../../../../src/gcc-9.5.0/libiberty/vsnprintf.c -o
vsnprintf.o
../../../../src/gcc-9.5.0/libiberty/vsnprintf.c:60:1: error: redefinition of
'vsnprintf'
60 | vsnprintf (char *s, size_t n, const char *format, va_list ap)
| ^~~~~~~~~
In file included from C:/mingw950/src/gcc-9.5.0/include/libiberty.h:49,
from ../../../../src/gcc-9.5.0/libiberty/vsnprintf.c:56:
C:/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/mingw32/mingw/include/stdio.h:464:5:
note: previous definition of 'vsnprintf' was here
464 | int vsnprintf (char *__stream, size_t __n, const char *__format,
__builtin_va_list __local_argv)
| ^~~~~~~~~
make[3]: *** [Makefile:1610: vsnprintf.o] Error 1
make[3]: Leaving directory
'/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/libiberty'
make[2]: *** [Makefile:11251: all-stage2-libiberty] Error 2
make[2]: Leaving directory
'/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0'
make[1]: *** [Makefile:22253: stage2-bubble] Error 2
make[1]: Leaving directory
'/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0'
make: *** [Makefile:1006: all] Error 2
Checking the config.log, I find that there's two issues: one for snprintf and
one for vsnprintf:
configure:6469: checking for snprintf
configure:6469:
/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/xgcc
-B/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/
-B/mingw32/i686-w64-mingw32/bin/ -L/mingw32/i686-w64-mingw32/lib
-L/mingw32/mingw/lib -isystem /mingw32/i686-w64-mingw32/include -isystem
/mingw32/mingw/include -B/mingw32/i686-w64-mingw32/bin/
-B/mingw32/i686-w64-mingw32/lib/ -isystem /mingw32/i686-w64-mingw32/include
-isystem /mingw32/i686-w64-mingw32/sys-include -fno-checking -o conftest.exe
-g -O2 -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format -fno-checking -gtoggle
-static-libstdc++ -static-libgcc -Wl,--stack,12582912 conftest.c >&5
conftest.c:91:6: warning: conflicting types for built-in function 'snprintf';
expected 'int(char *, unsigned int, const char *, ...)'
[-Wbuiltin-declaration-mismatch]
91 | char snprintf ();
| ^~~~~~~~
conftest.c:79:1: note: 'snprintf' is declared in header '<stdio.h>'
78 | # include <limits.h>
79 | #else
C:\mingw950\i686-950-posix-sjlj-rt_v1000-rev0\mingw32\bin\ld.exe:
C:/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/mingw32/mingw/lib/../lib/libmsvcrt.a(lib32_libmsvcrt_extra_a-_vscprintf.o):_vscprintf.c:(.text+0xc6):
undefined reference to `_imp__GetModuleHandleW@4'
C:\mingw950\i686-950-posix-sjlj-rt_v1000-rev0\mingw32\bin\ld.exe:
C:/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/mingw32/mingw/lib/../lib/libmsvcrt.a(lib32_libmsvcrt_extra_a-_vscprintf.o):_vscprintf.c:(.text+0xde):
undefined reference to `_imp__GetProcAddress@8'
collect2.exe: error: ld returned 1 exit status
configure:6469: checking for vsnprintf
configure:6469:
/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/xgcc
-B/c/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/build/gcc-9.5.0/./prev-gcc/
-B/mingw32/i686-w64-mingw32/bin/ -L/mingw32/i686-w64-mingw32/lib
-L/mingw32/mingw/lib -isystem /mingw32/i686-w64-mingw32/include -isystem
/mingw32/mingw/include -B/mingw32/i686-w64-mingw32/bin/
-B/mingw32/i686-w64-mingw32/lib/ -isystem /mingw32/i686-w64-mingw32/include
-isystem /mingw32/i686-w64-mingw32/sys-include -fno-checking -o conftest.exe
-g -O2 -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format -fno-checking -gtoggle
-static-libstdc++ -static-libgcc -Wl,--stack,12582912 conftest.c >&5
conftest.c:107:6: warning: conflicting types for built-in function 'vsnprintf';
expected 'int(char *, unsigned int, const char *, char *)'
[-Wbuiltin-declaration-mismatch]
107 | char vsnprintf ();
| ^~~~~~~~~
conftest.c:95:1: note: 'vsnprintf' is declared in header '<stdio.h>'
94 | # include <limits.h>
95 | #else
C:\mingw950\i686-950-posix-sjlj-rt_v1000-rev0\mingw32\bin\ld.exe:
C:/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/mingw32/mingw/lib/../lib/libmsvcrt.a(lib32_libmsvcrt_extra_a-_vscprintf.o):_vscprintf.c:(.text+0xc6):
undefined reference to `_imp__GetModuleHandleW@4'
C:\mingw950\i686-950-posix-sjlj-rt_v1000-rev0\mingw32\bin\ld.exe:
C:/mingw950/i686-950-posix-sjlj-rt_v1000-rev0/mingw32/mingw/lib/../lib/libmsvcrt.a(lib32_libmsvcrt_extra_a-_vscprintf.o):_vscprintf.c:(.text+0xde):
undefined reference to `_imp__GetProcAddress@8'
collect2.exe: error: ld returned 1 exit status
I am doing a "plain jane" build on 64-bit Windows 10 Pro with msvcrt. I am not
using ucrt or a versioned msvcrt. This works with a 64-bit SEH build.
/allen
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public