Print

Print


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: Andreas-Joachim Peters 
  To: 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.