Bug 1203 - multiple definitions of XdmcpWrap
Summary: multiple definitions of XdmcpWrap
Alias: None
Product: xorg
Classification: Unclassified
Component: Lib/Xlib (show other bugs)
Version: git
Hardware: x86 (IA32) Windows (All)
: high blocker
Assignee: Xorg Project Team
QA Contact:
Depends on:
Blocks: 351
  Show dependency treegraph
Reported: 2004-08-27 07:10 UTC by Alexander Gottwald
Modified: 2007-01-23 17:34 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

remove Wrap.c, Wrap.h and WrapHelp.c from libX11 (1.21 KB, patch)
2004-08-29 08:16 UTC, Alexander Gottwald
no flags Details | Splinter Review
do not export XdmcpWrap (670 bytes, patch)
2004-08-30 00:57 UTC, Alexander Gottwald
no flags Details | Splinter Review
do not export Xdmcp functions in libX11 (695 bytes, patch)
2004-08-30 01:11 UTC, Alexander Gottwald
no flags Details | Splinter Review

Description Alexander Gottwald 2004-08-27 07:10:25 UTC
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
Comment 1 Egbert Eich 2004-08-27 09:34:02 UTC
Alexander, this may be Cygwin specific as noone else seems to see it.
Could you please look into this?
Comment 2 Alexander Gottwald 2004-08-29 08:16:45 UTC
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.
Comment 3 Kevin E. Martin 2004-08-29 12:20:06 UTC
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?
Comment 4 Keith Packard 2004-08-29 21:31:00 UTC
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.
Comment 5 Alexander Gottwald 2004-08-30 00:55:31 UTC
Should libX11 export XdmcpWrap? 

A simple solution is --exclude-symbols=XdmcpWrap for cygwin 

Comment 6 Alexander Gottwald 2004-08-30 00:57:51 UTC
Created attachment 776 [details] [review]
do not export XdmcpWrap
Comment 7 Alexander Gottwald 2004-08-30 01:11:24 UTC
Created attachment 777 [details] [review]
do not export Xdmcp functions in libX11

excludes XdmcpWrap and _XdmcpWrapperToOddParity from automatic export
Comment 8 Kevin E. Martin 2004-08-30 17:56:09 UTC
I think this is a good solution for cygwin.
If no one has any objections, I will go ahead and check it in tomorrow.
Comment 9 Kevin E. Martin 2004-08-31 18:04:40 UTC
No objections, so I checked in the patch.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.