stu-

the reason that i statically link in apr/confuse/expat is manifold.

there are people who are running ganglia on 2000 node clusters and tracking dependencies can be a nightmare at that scale. having a single statically-linked executable and a config file to sync up is simple.

static linking also helps reduce the complexity of the ganglia distribution. if we link against dynamic libraries, we will need to track dependencies for each of the libraries... our configure.ac would need to be modified to search for the library and then send warnings to users that certain version of the library are not compatible. tracking library dependencies (bug tracking dependency libraries) make things more difficult for us. using convenience libraries guarantess we are always using a tested version of each library.

the code in ./srclib is pretty vanilla but i have made some tweaks to libconfuse and sent them to the author. i don't remember them all but cvs does. of course ./srlib/libmetrics is code that we've all written ourselves.

i understand the benefits of dynamic linking but the costs are higher.

the model i'm using is essentially the apache model. if you take a look at the apache code base you'll see that they do the same thing. there is a ./srclib directory with apr apr-util pcre etc. these libraries are handled like automake convenience libraries (noinst_...). actually, if you look in ./srclib/apr-util you'll find expat.

i'm open to the idea of allowing ganglia to use optionally use dynamic linking but it not something i have to the time to build and maintain.

thanks for the time your investing to build the debian package. let me know if there is anything i can do to help. we could add some configure.in flags say (--with-apr=... --with-libconfuse=...) to help make a the ganglia.deb fit the Debian dogma.

-matt



Stu Teasdale wrote:
Hi all,

I'm currently working on ganglia 3.0.0 packages for Debian and have a small query. Debian general policy states that external libraries should be dynamically linked to executables, and the dependency system ensures that this isn't a major issue for users, but I notice that ganglia 3 seems to distribute the source for some support libraries (apr, confuse, expat) within the main source tree. Are these completely unmodified or is there some technical reason why I should use this code, probably statically, rather than the standard packages?

Stu

--
PGP fingerprint 'A7C2 3C2F 8445 AD3C 135E F40B 242A 5984 ACBC 91D3'

   They that can give up essential liberty to obtain a little
      temporary safety deserve neither liberty nor safety.
  --Benjamin Franklin, Historical Review of Pennsylvania, 1759

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to