Hi Andreas,
 
Looking at the GNUmakefile for XrdOuc it's obvious that XrdSysLogger is improperly included in that build. A bug, obviously. So, easy to correct. If you can, simply fix the GNUmakefile for XrdOuc to remove that file from the list and rebuild. I suspect that there may be instance where someone relied on this (bad) behaviour so there XrdSys.a will need to be added. Let me know how you want to proceed.
 
Andy
----- Original Message -----
From: [log in to unmask] href="mailto:[log in to unmask]">Andreas-Joachim Peters
To: [log in to unmask] href="mailto:[log in to unmask]">xrootd-dev
Sent: Thursday, September 23, 2010 5:20 AM
Subject: xrootd protocol 'classic build' static library overlaps

I face the following problem with the static library structure in the head using the classic build:

nm /tmp/classic/lib/libXrdSys.a | grep _ZN12XrdSysLoggerC1Eii
0000000000000930 T _ZN12XrdSysLoggerC1Eii

nm /tmp/classic/lib/libXrdOuc.a | grep _ZN12XrdSysLoggerC1Eii
0000000000000930 T _ZN12XrdSysLoggerC1Eii

nm /tmp/classic/lib/libXrdSys.a | grep strlcpy
0000000000000000 T strlcpy

nm /tmp/classic/lib/libXrdOuc.a | grep strlcpy
                                 U strlcpy


As in this example: if I need some function using strlcpy I need to link XrdOuc & XrdSys, but both libraries are only as static available ( XrdOuc links some objects from XrdSys in but not all!) and I get double defined symbols (on MAC). What can we do here?

Cheers Andreas.