Building with GCC 10 still broken (-fcommon, dlls/schedsvc/tests)
Nikolay Sivov
bunglehead at gmail.com
Fri Feb 14 11:54:23 CST 2020
On Fri, Feb 14, 2020 at 10:44 AM Gerald Pfeifer <gerald at pfeifer.com> wrote:
> 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
>
You can probably try to use different names for variables defined with
implicit_handle() attribute.
>
> 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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20200214/f369cfc6/attachment.htm>
More information about the wine-devel
mailing list