On Mar 13, 2011, at 1:01 AM, Yang, Wei wrote: > Hi Brian, > > If I use configure.classic, I only get libXrdFfs.a. Also, libXrdFfs doesn't depend on fuse. Only the final xrootdfsd binary depends on fuse. > If FUSE is only for xrootdfsd, then we ought to apply the below patch. (Also fixed the ordering of XrdPss deps while I was at it; it may look trivial, but it's necessary to be able to visually compare to the configure.classic Makefile) Regarding the linking of libXrdFfs: this has been discussed previously. libtool simply doesn't support this approach: shared library targets can't statically include other library targets. We hit up against this right before the 3.0.0 release and haven't resolved it. I would really like to draw all the interdependencies into a picture - I wonder where other gremlins are. Brian diff --git a/src/XrdFfs/Makefile.am b/src/XrdFfs/Makefile.am index 97e06aa..57369b2 100644 --- a/src/XrdFfs/Makefile.am +++ b/src/XrdFfs/Makefile.am @@ -42,15 +42,14 @@ libXrdFfs_la_SOURCES = \ XrdFfsQueue.cc \ XrdFfsWcache.cc -libXrdFfs_la_LIBADD = ../XrdPosix/libXrdPosix.la \ - ../XrdClient/libXrdClient.la \ - ../XrdSec/libXrdSec.la \ - ../XrdSecsss/libXrdSecsss.la \ - ../XrdNet/libXrdNet.la \ - ../XrdNet/libXrdNetUtil.la \ - ../XrdOuc/libXrdOuc.la \ - ../XrdSys/libXrdSys.la \ - $(FUSELIB) - xrootdfs_SOURCES = XrdFfsXrootdfs.cc -xrootdfs_LDADD = libXrdFfs.la +xrootdfs_LDADD = libXrdFfs.la $(FUSELIB) \ + ../XrdPosix/libXrdPosix.la \ + ../XrdClient/libXrdClient.la \ + ../XrdSec/libXrdSec.la \ + ../XrdSecsss/libXrdSecsss.la \ + ../XrdNet/libXrdNet.la \ + ../XrdNet/libXrdNetUtil.la \ + ../XrdOuc/libXrdOuc.la \ + ../XrdSys/libXrdSys.la + diff --git a/src/XrdPss/Makefile.am b/src/XrdPss/Makefile.am index 324facc..7edb84b 100644 --- a/src/XrdPss/Makefile.am +++ b/src/XrdPss/Makefile.am @@ -20,11 +20,11 @@ libXrdPss_la_SOURCES = \ XrdPssAio.cc \ XrdPssConfig.cc -libXrdPss_la_LIBADD = ../XrdFfs/libXrdFfs.la \ - ../XrdClient/libXrdClient.la \ - ../XrdSecsss//libXrdSecsss.la \ - ../XrdSec//libXrdSec.la \ +libXrdPss_la_LIBADD = ../XrdClient/libXrdClient.la \ + ../XrdFfs/libXrdFfs.la \ ../XrdNet/libXrdNet.la \ ../XrdNet/libXrdNetUtil.la \ ../XrdOuc/libXrdOuc.la \ + ../XrdSec/libXrdSec.la \ + ../XrdSecsss/libXrdSecsss.la \ ../XrdSys/libXrdSys.la > regards, > Wei Yang | [log in to unmask] | 650-926-3338(O) > > > > > On Mar 12, 2011, at 7:13 PM, Andrew Hanushevsky wrote: > >> Some comments below. >> >> On Sat, 12 Mar 2011, Brian Bockelman wrote: >> >>> Hi, >>> >>> Took the chance to review Lukasz's new RPMs. Here are my items of concern: >>> - libXrdPss.so is in the server, but depends on libXrdFfs.so. Hence, xrootd-server is dependent on xrootd-fuse is dependent on fuse. >>> - In general, we probably want to remove the dependency on libfuse from libXrdPss. >> This then was improperly built. No individual shared libary or >> executable should directly depend on another xrootd-generated shared >> library. This is to make it easy to move things around and greatly aids >> in debugging.