Building with GCC 10 still broken (-fcommon, dlls/schedsvc/tests)

Gerald Pfeifer gerald at pfeifer.com
Thu Feb 13 15:07:18 CST 2020


Even after patches by Michael Cronenworth and me, cf.
  https://www.winehq.org/pipermail/wine-devel/2020-January/157945.html
  https://www.winehq.org/pipermail/wine-devel/2020-January/158454.html
Wine still fails to build with GCC 10 development snapshots.

This is due to a change of defaults in GCC, from -fcommon to -fno-common, 
cf. the following from http://gcc.gnu.org/gcc-10/porting_to.html :

  A common mistake in C is omitting extern when declaring a global 
  variable in a header file. If the header is included by several files it
  results in multiple definitions of the same variable. In previous GCC 
  versions this error is ignored. GCC 10 defaults to -fno-common, which 
  means a linker error will now be reported. To fix this, use extern in 
  header files when declaring global variables, and ensure each global is 
  defined in exactly one C file. As a workaround, legacy C code can be 
  compiled with -fcommon.


The failure left is 

  gmake[1]: Entering directory '/home/gerald/wine/dlls/schedsvc/tests'
  ../../../tools/winegcc/winegcc -o schedsvc_test-stripped.exe.so 
  --wine-objdir ../../.. -fno-PIC -fasynchronous-unwind-tables \
  -s -Wb,-F,schedsvc_test.exe -mno-cygwin atsvcapi.o rpcapi.o atsvc_c.o 
  schrpc_c.o testlist.o \  -lrpcrt4 -lole32 -L/home/gerald/11-i386/lib
  schrpc_c.o:(.bss+0x0): multiple definition of `rpc_handle'
  atsvc_c.o:(.bss+0x0): first defined here
  winebuild: /home/gerald/11-i386/bin/ld failed with status 1
  winegcc: ../../../tools/winebuild/winebuild failed
  gmake[1]: *** [Makefile:367: schedsvc_test-stripped.exe.so] Error 2
  gmake[1]: Leaving directory '/home/gerald/wine/dlls/schedsvc/tests'
  gmake: *** [Makefile:8961: dlls/schedsvc/tests] Error 2

atsvc_c.c and schrpc_c.c are auto-generated from atsvc.idl and
schrpc.idl, so I'm not sure how to tackle this.

Anyone who can help and take this?

Thank you,
Gerald




More information about the wine-devel mailing list