strmbase is built against msvcrt (and needs to remain as such to be used in tests). Hence modules that link to it also need to be built against msvcrt.
In practice, this happens to work, but it causes some subtle strangeness. In particular, since ucrtbase does not export the simple printf functions, we end up instead linking to ntdll, whose implementation is notably incomplete, missing any float specifiers. While it's possible that ntdll should add those, we shouldn't be linking against ntdll's CRT anyway.
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/amstream/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/amstream/Makefile.in b/dlls/amstream/Makefile.in index cd4bd0a7862..8e2967243bf 100644 --- a/dlls/amstream/Makefile.in +++ b/dlls/amstream/Makefile.in @@ -1,5 +1,5 @@ MODULE = amstream.dll -IMPORTS = strmiids strmbase uuid ole32 advapi32 ddraw +IMPORTS = strmiids strmbase uuid ole32 advapi32 ddraw msvcrt
SOURCES = \ amstream_classes.idl \
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/evr/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/evr/Makefile.in b/dlls/evr/Makefile.in index 45e9c62fb17..1ed369136c7 100644 --- a/dlls/evr/Makefile.in +++ b/dlls/evr/Makefile.in @@ -1,6 +1,6 @@ MODULE = evr.dll IMPORTLIB = evr -IMPORTS = mfuuid strmiids strmbase uuid dxguid ole32 oleaut32 user32 d3d9 dxva2 +IMPORTS = mfuuid strmiids strmbase uuid dxguid ole32 oleaut32 user32 d3d9 dxva2 msvcrt DELAYIMPORTS = mfplat
EXTRADLLFLAGS = -Wb,--prefer-native
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/qasf/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/qasf/Makefile.in b/dlls/qasf/Makefile.in index e37a03c4e60..7b3767d7b0c 100644 --- a/dlls/qasf/Makefile.in +++ b/dlls/qasf/Makefile.in @@ -1,5 +1,5 @@ MODULE = qasf.dll -IMPORTS = strmbase dmoguids strmiids uuid ole32 oleaut32 wmvcore +IMPORTS = strmbase dmoguids strmiids uuid ole32 oleaut32 wmvcore msvcrt
SOURCES = \ asfreader.c \
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/qcap/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/qcap/Makefile.in b/dlls/qcap/Makefile.in index 10e543137f5..0f53e63f022 100644 --- a/dlls/qcap/Makefile.in +++ b/dlls/qcap/Makefile.in @@ -1,6 +1,6 @@ MODULE = qcap.dll UNIXLIB = qcap.so -IMPORTS = strmbase strmiids uuid ole32 oleaut32 winmm +IMPORTS = strmbase strmiids uuid ole32 oleaut32 winmm msvcrt DELAYIMPORTS = msvfw32
SOURCES = \
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/qdvd/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/qdvd/Makefile.in b/dlls/qdvd/Makefile.in index 03989faf53c..e9a145d7f26 100644 --- a/dlls/qdvd/Makefile.in +++ b/dlls/qdvd/Makefile.in @@ -1,5 +1,5 @@ MODULE = qdvd.dll -IMPORTS = strmbase strmiids uuid ole32 +IMPORTS = strmbase strmiids uuid ole32 msvcrt
EXTRADLLFLAGS = -Wb,--prefer-native
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/qedit/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/qedit/Makefile.in b/dlls/qedit/Makefile.in index 9545b21c091..80635294961 100644 --- a/dlls/qedit/Makefile.in +++ b/dlls/qedit/Makefile.in @@ -1,5 +1,5 @@ MODULE = qedit.dll -IMPORTS = strmiids strmbase uuid oleaut32 ole32 advapi32 +IMPORTS = strmiids strmbase uuid oleaut32 ole32 advapi32 msvcrt
SOURCES = \ main.c \
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/quartz/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/quartz/Makefile.in b/dlls/quartz/Makefile.in index 1456d281cb8..db6280f27ed 100644 --- a/dlls/quartz/Makefile.in +++ b/dlls/quartz/Makefile.in @@ -1,6 +1,6 @@ MODULE = quartz.dll IMPORTLIB = quartz -IMPORTS = strmiids dxguid strmbase uuid dsound msacm32 msvfw32 ole32 oleaut32 rpcrt4 user32 gdi32 advapi32 winmm +IMPORTS = strmiids dxguid strmbase uuid dsound msacm32 msvfw32 ole32 oleaut32 rpcrt4 user32 gdi32 advapi32 winmm msvcrt DELAYIMPORTS = ddraw
SOURCES = \
From: Elizabeth Figura zfigura@codeweavers.com
It links to strmbase, which is built against msvcrt. --- dlls/winegstreamer/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/Makefile.in b/dlls/winegstreamer/Makefile.in index abf3d82d6a8..e33aa6c4d18 100644 --- a/dlls/winegstreamer/Makefile.in +++ b/dlls/winegstreamer/Makefile.in @@ -1,7 +1,7 @@ MODULE = winegstreamer.dll UNIXLIB = winegstreamer.so IMPORTLIB = winegstreamer -IMPORTS = strmbase ole32 oleaut32 msdmo +IMPORTS = strmbase ole32 oleaut32 msdmo msvcrt DELAYIMPORTS = mfplat mf UNIX_CFLAGS = $(GSTREAMER_CFLAGS) UNIX_LIBS = $(GSTREAMER_LIBS) $(PTHREAD_LIBS)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=145475
Your paranoid android.
=== debian11 (build log) ===
/home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /usr/bin/i686-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /usr/bin/i686-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/corecrt_wstdio.h:145: undefined reference to `_imp____stdio_common_vswprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /usr/bin/i686-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/corecrt_wstdio.h:145: undefined reference to `_imp____stdio_common_vswprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /usr/bin/i686-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' /usr/bin/i686-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-win32/../wine/include/msvcrt/stdio.h:168: undefined reference to `_imp____stdio_common_vsprintf' collect2: error: ld returned 1 exit status Task: The win32 Wine build failed
=== debian11b (build log) ===
/home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /usr/bin/x86_64-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /usr/bin/x86_64-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/corecrt_wstdio.h:145: undefined reference to `__imp___stdio_common_vswprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /usr/bin/x86_64-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/corecrt_wstdio.h:145: undefined reference to `__imp___stdio_common_vswprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /usr/bin/x86_64-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' /usr/bin/x86_64-w64-mingw32-ld: /home/winetest/tools/testbot/var/wine-wow64/../wine/include/msvcrt/stdio.h:168: undefined reference to `__imp___stdio_common_vsprintf' collect2: error: ld returned 1 exit status Task: The wow64 Wine build failed