On Fri, 14 Feb 2020, Nikolay Sivov wrote:
On Fri, Feb 14, 2020 at 10:44 AM Gerald Pfeifer gerald@pfeifer.com wrote: 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.
FWIW, I just ran into the same as well (with a Clang 11 build).
It works (at least building, haven't tried running tests) if renaming e.g. the one in include/wine/atsvc.idl - but one can't rename both that one and the one in include/wine/schrpc.idl, as there's other source files that expect to access it e.g. like this:
dlls/schedsvc/tests/rpcapi.c:extern handle_t rpc_handle; dlls/schedsvc/tests/rpcapi.c: hr = RpcBindingFromStringBindingA(binding_str, &rpc_handle); dlls/schedsvc/tests/rpcapi.c: hr = RpcBindingFree(&rpc_handle);
// Martin