<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 14, 2020 at 10:44 AM Gerald Pfeifer <<a href="mailto:gerald@pfeifer.com" target="_blank">gerald@pfeifer.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Even after patches by Michael Cronenworth and me, cf.<br>
  <a href="https://www.winehq.org/pipermail/wine-devel/2020-January/157945.html" rel="noreferrer" target="_blank">https://www.winehq.org/pipermail/wine-devel/2020-January/157945.html</a><br>
  <a href="https://www.winehq.org/pipermail/wine-devel/2020-January/158454.html" rel="noreferrer" target="_blank">https://www.winehq.org/pipermail/wine-devel/2020-January/158454.html</a><br>
Wine still fails to build with GCC 10 development snapshots.<br>
<br>
This is due to a change of defaults in GCC, from -fcommon to -fno-common, <br>
cf. the following from <a href="http://gcc.gnu.org/gcc-10/porting_to.html" rel="noreferrer" target="_blank">http://gcc.gnu.org/gcc-10/porting_to.html</a> :<br>
<br>
  A common mistake in C is omitting extern when declaring a global <br>
  variable in a header file. If the header is included by several files it<br>
  results in multiple definitions of the same variable. In previous GCC <br>
  versions this error is ignored. GCC 10 defaults to -fno-common, which <br>
  means a linker error will now be reported. To fix this, use extern in <br>
  header files when declaring global variables, and ensure each global is <br>
  defined in exactly one C file. As a workaround, legacy C code can be <br>
  compiled with -fcommon.<br>
<br>
<br>
The failure left is <br>
<br>
  gmake[1]: Entering directory '/home/gerald/wine/dlls/schedsvc/tests'<br>
  ../../../tools/winegcc/winegcc -o <a href="http://schedsvc_test-stripped.exe.so" rel="noreferrer" target="_blank">schedsvc_test-stripped.exe.so</a> <br>
  --wine-objdir ../../.. -fno-PIC -fasynchronous-unwind-tables \<br>
  -s -Wb,-F,schedsvc_test.exe -mno-cygwin atsvcapi.o rpcapi.o atsvc_c.o <br>
  schrpc_c.o testlist.o \  -lrpcrt4 -lole32 -L/home/gerald/11-i386/lib<br>
  schrpc_c.o:(.bss+0x0): multiple definition of `rpc_handle'<br>
  atsvc_c.o:(.bss+0x0): first defined here<br>
  winebuild: /home/gerald/11-i386/bin/ld failed with status 1<br>
  winegcc: ../../../tools/winebuild/winebuild failed<br>
  gmake[1]: *** [Makefile:367: <a href="http://schedsvc_test-stripped.exe.so" rel="noreferrer" target="_blank">schedsvc_test-stripped.exe.so</a>] Error 2<br>
  gmake[1]: Leaving directory '/home/gerald/wine/dlls/schedsvc/tests'<br>
  gmake: *** [Makefile:8961: dlls/schedsvc/tests] Error 2<br></blockquote><div><br></div><div>You can probably try to use different names for variables defined with implicit_handle() attribute.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
atsvc_c.c and schrpc_c.c are auto-generated from atsvc.idl and<br>
schrpc.idl, so I'm not sure how to tackle this.<br>
<br>
Anyone who can help and take this?<br>
<br>
Thank you,<br>
Gerald<br>
<br>
<br>
</blockquote></div></div>