in make Xnest and XWin (both include libX11 and libXdmcp)
../../exports/lib/libXdmcp.a(Wrap.o)(.text+0x0): In function `XdmcpWrap':
/mnt/d/ago/xorg-head/xc/.build/lib/Xdmcp/Wrap.c:56: multiple definition of
../../exports/lib/libX11.a(d000548.o)(.text+0x0): first defined here
collect2: ld returned 1 exit status
I don't know how to solve this without removing Wrap.c from libX11 and linking
it to libXdmcp
Alexander, this may be Cygwin specific as noone else seems to see it.
Could you please look into this?
Created attachment 762 [details] [review]
remove Wrap.c, Wrap.h and WrapHelp.c from libX11
removes Wrap.c, Wrap.h and WrapHelp.c from libX11. It links to libXdmcp
The change has effect on cygwin only but should work for other platforms too.
The Wrap*.[ch] code is self contained, so I would rather it remain in both X11
and Xdmcp instead of creating another external dependency.
It seems that cygwin cannot deal with multiple references gracefully, so I don't
see a problem with making cygwin a special case as Alexander proposed in his fix.
Egbert, what do you think?
I'd rather not have libX11 depend on libXdmcp -- that causes binary
compatibility problems on any system which doesn't have dependency information
in shared libraries (vis the Xaw/Xp issues).
A simple solution would have libX11 #define the names around so that it didn't
conflict with libXdmcp.
Should libX11 export XdmcpWrap?
A simple solution is --exclude-symbols=XdmcpWrap for cygwin
Created attachment 776 [details] [review]
do not export XdmcpWrap
Created attachment 777 [details] [review]
do not export Xdmcp functions in libX11
excludes XdmcpWrap and _XdmcpWrapperToOddParity from automatic export
I think this is a good solution for cygwin.
If no one has any objections, I will go ahead and check it in tomorrow.
No objections, so I checked in the patch.