I think I have everything working now using your patches. I am just doing some final testing before checking everything in and removing /srclib completely. I will also update the README to describe how to build statically.
Brad >>> On 3/13/2008 at 10:20 AM, in message <[EMAIL PROTECTED]>, Carlo Marcelo Arenas Belon <[EMAIL PROTECTED]> wrote: > The following patch removes all dependencies to libapr when > --enable-static-build is used in preparation for removing libapr (version > 0.9.7) from srclib. > > This allows for cleaner packaging by using the system provided libapr if > available or one provided at compile time with --with-libapr that can be > linked either statically or dynamically and will allow for the removal > of all libapr0 compatibility code. > > This patch needs to be applied on top of the previous one to remove > libconfuse > and has been tested to build correctly with and without --enable-static-build > in linux and cygwin. > > Beware that cygwin won't be able to generate working binaries for ganglia > because of DSO linking problems in cygwin as reported in : > > > http://www.mail-archive.com/[email protected]/msg03375 > .html > > Signed-off-by: Carlo Marcelo Arenas Belon <[EMAIL PROTECTED]> > --- > trunk/monitor-core/README.WIN | 18 +------ > trunk/monitor-core/configure.in | 54 ++++++++----------- > trunk/monitor-core/gmetad/Makefile.am | 7 +-- > trunk/monitor-core/gmetric/Makefile.am | 6 +- > trunk/monitor-core/gmond/Makefile.am | 8 ++-- > trunk/monitor-core/gmond/modules/cpu/Makefile.am | 5 +- > trunk/monitor-core/gmond/modules/disk/Makefile.am | 4 +- > .../monitor-core/gmond/modules/example/Makefile.am | 5 +- > .../monitor-core/gmond/modules/memory/Makefile.am | 5 +-- > .../monitor-core/gmond/modules/network/Makefile.am | 5 +-- > .../monitor-core/gmond/modules/python/Makefile.am | 5 +- > .../monitor-core/gmond/modules/status/Makefile.am | 5 +- > .../monitor-core/gmond/modules/system/Makefile.am | 4 +- > trunk/monitor-core/lib/Makefile.am | 7 +-- > trunk/monitor-core/srclib/Makefile.am | 7 +-- > 15 files changed, 51 insertions(+), 94 deletions(-) > > diff --git a/trunk/monitor-core/README.WIN b/trunk/monitor-core/README.WIN > index 242e6a8..0dabf27 100644 > --- a/trunk/monitor-core/README.WIN > +++ b/trunk/monitor-core/README.WIN > @@ -10,7 +10,7 @@ instructions as in the UNIX platforms with some work > arounds. > Prerequisites > ------------- > > -Latest version of Cygwin with the following packages: autoconf, automake, > +Latest version of Cygwin with the following packages: apr1, autoconf, > automake, > bison, expat, diffutils, flex, gcc, libtool, make, sharutils, sunrpc and > svn to checkout the source code. > > @@ -36,20 +36,6 @@ Go to libmetrics directory and type the following commands > > The steps above generates the configure file for libmetrics. > > -Download the APR project from http://apr.apache.org/download.cgi. Build > -the project with the following commands. > - > - ./configure > - make > - make install - this command installs APR in the /usr/local directory. > - > -There is a older version of APR project in the srclib directory. Building > -APR from the srclib would not work. > - > -copy all the .h files from /usr/lib/apr/include/apr-1 to /usr/local/include > -cp /usr/local/apr/lib/libapr-1.a /usr/local/lib/ > -cp /usr/local/apr/lib/libapr-1.la /usr/local/lib/ > - > Download libconfuse, build it and install the libconfuse library. > ./configure > make > @@ -57,7 +43,7 @@ make install > > Go to the ganglia directory, and run the following command to build Ganglia > > -./configure --with-libapr=/usr/local/apr --with-libconfuse=/usr/local > +./configure --with-libconfuse=/usr/local > > When the make command is executed, this command will fail at the rpcgen > tool not able to generate the src files. This is because the rpcgen tool > diff --git a/trunk/monitor-core/configure.in b/trunk/monitor-core/configure.in > index 0f6304c..f0086e2 100644 > --- a/trunk/monitor-core/configure.in > +++ b/trunk/monitor-core/configure.in > @@ -140,11 +140,6 @@ cd libmetrics && ./configure > --cache-file=$ganglia_popdir/config.cache > cd $ganglia_popdir > > if test x"$enable_static_build" = xyes ; then > - > - echo $ac_n "${nl}Configuring apr ...${nl}" > - cd srclib/apr && ./configure --cache-file=$ganglia_popdir/config.cache > --prefix=$prefix > - cd $ganglia_popdir > - > modpathstart="#" > fi > > @@ -277,36 +272,33 @@ dnl AC_CHECK_LIB(python{PyVERSION}, set_python_path, > [echo "The ganglia python > fi > fi > > -AM_CONDITIONAL(USE_DYNAMIC_APR, test x$libapr = xyes) > - > if test x"$enable_static_build" = xno ; then > + modpathstart="" > +fi > > - echo > - echo Checking for apr > - if test x"$libaprpath" != x && test x"$libaprpath" != xyes ; then > - CFLAGS="$CFLAGS -I$libaprpath/include" > - LDFLAGS="$LDFLAGS -L$libaprpath/lib" > - echo "Added -I$libaprpath/include to CFLAGS" > - echo "Added -I$libaprpath/lib to LDLAGS" > - else > - AC_PATH_PROG(APR_CONFIG, apr-1-config) > - if test -z "$APR_CONFIG"; then > - AC_MSG_ERROR(apr-1-config binary not found in path) > - fi > - APR_INCLUDES=`$APR_CONFIG --includes` > - AC_SUBST(APR_INCLUDES) > - fi > - > - AC_CHECK_LIB(apr-1, apr_socket_send,,,[`$APR_CONFIG --link-ld --libs`]) > - if test $ac_cv_lib_apr_1_apr_socket_send = yes; then > - echo "The ganglia utilities use the Apache Portable Runtime functions > (http://www.apache.org/)" > - echo "Found a suitable libapr1 library" > - else > - echo "libapr not found" > - exit; > +echo > +echo Checking for apr > +if test x"$libaprpath" != x && test x"$libaprpath" != xyes ; then > + CFLAGS="$CFLAGS -I$libaprpath/include" > + LDFLAGS="$LDFLAGS -L$libaprpath/lib" > + echo "Added -I$libaprpath/include to CFLAGS" > + echo "Added -I$libaprpath/lib to LDLAGS" > +else > + AC_PATH_PROG(APR_CONFIG, apr-1-config) > + if test -z "$APR_CONFIG"; then > + AC_MSG_ERROR(apr-1-config binary not found in path) > fi > + APR_INCLUDES=`$APR_CONFIG --includes` > + AC_SUBST(APR_INCLUDES) > +fi > > - modpathstart="" > +AC_CHECK_LIB(apr-1, apr_socket_send,,,[`$APR_CONFIG --link-ld --libs`]) > +if test $ac_cv_lib_apr_1_apr_socket_send = yes; then > + echo "The ganglia utilities use the Apache Portable Runtime functions > (http://www.apache.org/)" > + echo "Found a suitable libapr1 library" > +else > + echo "libapr not found" > + exit; > fi > > echo > diff --git a/trunk/monitor-core/gmetad/Makefile.am > b/trunk/monitor-core/gmetad/Makefile.am > index addeb2c..9a29768 100644 > --- a/trunk/monitor-core/gmetad/Makefile.am > +++ b/trunk/monitor-core/gmetad/Makefile.am > @@ -1,10 +1,9 @@ > +GCFLAGS = > +GLDADD = > + > if STATIC_BUILD > -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ > -GLDADD = $(top_builddir)/srclib/apr/libapr-0.la > GLDFLAGS = -static > else > -GCFLAGS = > -GLDADD = > GLDFLAGS = > endif > > diff --git a/trunk/monitor-core/gmetric/Makefile.am > b/trunk/monitor-core/gmetric/Makefile.am > index 2d09965..51e4922 100644 > --- a/trunk/monitor-core/gmetric/Makefile.am > +++ b/trunk/monitor-core/gmetric/Makefile.am > @@ -1,10 +1,10 @@ > +GLDADD = > + > if STATIC_BUILD > -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ > -GLDADD = $(top_builddir)/srclib/apr/libapr-0.la > +GCFLAGS = > GLDFLAGS = -static > else > GCFLAGS = -D_LARGEFILE64_SOURCE > -GLDADD = > GLDFLAGS = > endif > > diff --git a/trunk/monitor-core/gmond/Makefile.am > b/trunk/monitor-core/gmond/Makefile.am > index 1def98d..767bcde 100644 > --- a/trunk/monitor-core/gmond/Makefile.am > +++ b/trunk/monitor-core/gmond/Makefile.am > @@ -2,9 +2,9 @@ SUBDIRS = gstat modules python_modules > > EXTRA_DIST = gmond.aix.init gmond.init gmond.init.SuSE gmond.conf.5 > gmond.conf.html conf.pod > if STATIC_BUILD > -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ > -GLDADD = $(top_builddir)/srclib/apr/libapr-0.la \ > - modules/disk/mod_disk.lo modules/cpu/mod_cpu.lo modules/cpu/mod_load.lo > \ > +GCFLAGS = > +GLDADD = modules/disk/mod_disk.lo\ > + modules/cpu/mod_cpu.lo modules/cpu/mod_load.lo \ > modules/memory/mod_mem.lo modules/network/mod_net.lo \ > modules/system/mod_proc.lo modules/system/mod_sys.lo > GLDFLAGS = -static -export-dynamic > @@ -16,8 +16,8 @@ else > GCFLAGS = -D_LARGEFILE64_SOURCE > GLDADD = > GLDFLAGS = -export-dynamic > -INCLUDES = @APR_INCLUDES@ > endif > +INCLUDES = @APR_INCLUDES@ > > AM_CFLAGS = -I$(top_builddir)/lib -I$(top_builddir)/libmetrics/ $(GCFLAGS) > > diff --git a/trunk/monitor-core/gmond/modules/cpu/Makefile.am > b/trunk/monitor-core/gmond/modules/cpu/Makefile.am > index 71a4076..15f389e 100755 > --- a/trunk/monitor-core/gmond/modules/cpu/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/cpu/Makefile.am > @@ -1,7 +1,6 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ > noinst_LTLIBRARIES = libmodcpu.la > libmodcpu_la_SOURCES = mod_cpu.c mod_load.c > else > @@ -20,6 +19,6 @@ modload_la_LIBADD = > $(top_builddir)/libmetrics/libmetrics.la > > EXTRA_DIST = ../conf.d/multicpu.conf > > -INCLUDES = @APR_INCLUDES@ > - > endif > + > +INCLUDES = @APR_INCLUDES@ > diff --git a/trunk/monitor-core/gmond/modules/disk/Makefile.am > b/trunk/monitor-core/gmond/modules/disk/Makefile.am > index 7b1631c..49e86ab 100755 > --- a/trunk/monitor-core/gmond/modules/disk/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/disk/Makefile.am > @@ -1,7 +1,6 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ > noinst_LTLIBRARIES = libmoddisk.la > libmoddisk_la_SOURCES = mod_disk.c > else > @@ -9,7 +8,6 @@ pkglib_LTLIBRARIES = moddisk.la > moddisk_la_SOURCES = mod_disk.c > moddisk_la_LDFLAGS = -module > moddisk_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la > +endif > > INCLUDES = @APR_INCLUDES@ > - > -endif > diff --git a/trunk/monitor-core/gmond/modules/example/Makefile.am > b/trunk/monitor-core/gmond/modules/example/Makefile.am > index 92b8d49..03c7f39 100755 > --- a/trunk/monitor-core/gmond/modules/example/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/example/Makefile.am > @@ -1,7 +1,6 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ > noinst_LTLIBRARIES = libmodexample.la > libmodexample_la_SOURCES = mod_example.c > else > @@ -11,10 +10,10 @@ modexample_la_LDFLAGS = -module > > EXTRA_DIST = ../conf.d/example.conf > > -INCLUDES = @APR_INCLUDES@ > - > endif > > +INCLUDES = @APR_INCLUDES@ > + > install: > echo > echo "Examples should be installed manually" > diff --git a/trunk/monitor-core/gmond/modules/memory/Makefile.am > b/trunk/monitor-core/gmond/modules/memory/Makefile.am > index e765d9d..1462f41 100755 > --- a/trunk/monitor-core/gmond/modules/memory/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/memory/Makefile.am > @@ -1,16 +1,13 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ > noinst_LTLIBRARIES = libmodmem.la > libmodmem_la_SOURCES = mod_mem.c > else > pkglib_LTLIBRARIES = modmem.la > - > modmem_la_SOURCES = mod_mem.c > modmem_la_LDFLAGS = -module > modmem_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la > +endif > > INCLUDES = @APR_INCLUDES@ > - > -endif > diff --git a/trunk/monitor-core/gmond/modules/network/Makefile.am > b/trunk/monitor-core/gmond/modules/network/Makefile.am > index 998ffff..bd31052 100755 > --- a/trunk/monitor-core/gmond/modules/network/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/network/Makefile.am > @@ -1,16 +1,13 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ > noinst_LTLIBRARIES = libmodnet.la > libmodnet_la_SOURCES = mod_net.c > else > pkglib_LTLIBRARIES = modnet.la > - > modnet_la_SOURCES = mod_net.c > modnet_la_LDFLAGS = -module > modnet_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la > +endif > > INCLUDES = @APR_INCLUDES@ > - > -endif > diff --git a/trunk/monitor-core/gmond/modules/python/Makefile.am > b/trunk/monitor-core/gmond/modules/python/Makefile.am > index 27cbc1a..02b7f73 100644 > --- a/trunk/monitor-core/gmond/modules/python/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/python/Makefile.am > @@ -1,7 +1,6 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ @PYTHON_INCLUDES@ > noinst_LTLIBRARIES = libmodpython.la > libmodpython_la_SOURCES = mod_python.c > else > @@ -11,6 +10,6 @@ modpython_la_LDFLAGS = -module [EMAIL PROTECTED]@ > > EXTRA_DIST = ../conf.d/modpython.conf > > -INCLUDES = @APR_INCLUDES@ @PYTHON_INCLUDES@ > - > endif > + > +INCLUDES = @APR_INCLUDES@ @PYTHON_INCLUDES@ > diff --git a/trunk/monitor-core/gmond/modules/status/Makefile.am > b/trunk/monitor-core/gmond/modules/status/Makefile.am > index 9bc3fe5..0302abc 100755 > --- a/trunk/monitor-core/gmond/modules/status/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/status/Makefile.am > @@ -1,7 +1,6 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ > noinst_LTLIBRARIES = libmodstatus.la > libmodstatus_la_SOURCES = mod_gstatus.c > else > @@ -11,6 +10,6 @@ modgstatus_la_LDFLAGS = -module > > EXTRA_DIST = ../conf.d/modgstatus.conf > > -INCLUDES = @APR_INCLUDES@ > - > endif > + > +INCLUDES = @APR_INCLUDES@ > diff --git a/trunk/monitor-core/gmond/modules/system/Makefile.am > b/trunk/monitor-core/gmond/modules/system/Makefile.am > index 453aa90..9c377af 100755 > --- a/trunk/monitor-core/gmond/modules/system/Makefile.am > +++ b/trunk/monitor-core/gmond/modules/system/Makefile.am > @@ -1,7 +1,6 @@ > AM_CFLAGS = -D_LARGEFILE64_SOURCE -I$(top_builddir)/gmond > -I$(top_builddir)/libmetrics -I$(top_builddir)/lib > > if STATIC_BUILD > -AM_CFLAGS += -I$(top_builddir)/srclib/apr/include/ > noinst_LTLIBRARIES = libmodsys.la > libmodsys_la_SOURCES = mod_proc.c mod_sys.c > else > @@ -14,7 +13,6 @@ modproc_la_LIBADD = > $(top_builddir)/libmetrics/libmetrics.la > modsys_la_SOURCES = mod_sys.c > modsys_la_LDFLAGS = -module > modsys_la_LIBADD = $(top_builddir)/libmetrics/libmetrics.la > +endif > > INCLUDES = @APR_INCLUDES@ > - > -endif > diff --git a/trunk/monitor-core/lib/Makefile.am > b/trunk/monitor-core/lib/Makefile.am > index a00d5b3..9678782 100644 > --- a/trunk/monitor-core/lib/Makefile.am > +++ b/trunk/monitor-core/lib/Makefile.am > @@ -1,16 +1,15 @@ > #SUFFIXES=.x > #.c.x: rpcgen $< > > -if STATIC_BUILD > -GCFLAGS = -I$(top_builddir)/srclib/apr/include/ > -I$(top_builddir)/srclib/apr/include/arch/unix/ > GLDADD = > +if STATIC_BUILD > +GCFLAGS = > GLDFLAGS = -static > else > GCFLAGS = -D_LARGEFILE64_SOURCE > -GLDADD = > GLDFLAGS = > -INCLUDES = @APR_INCLUDES@ > endif > +INCLUDES = @APR_INCLUDES@ > > AM_CFLAGS = -I.. -I. -I$(top_builddir)/libmetrics/ $(GCFLAGS) > > diff --git a/trunk/monitor-core/srclib/Makefile.am > b/trunk/monitor-core/srclib/Makefile.am > index 37d4f7d..d18006d 100644 > --- a/trunk/monitor-core/srclib/Makefile.am > +++ b/trunk/monitor-core/srclib/Makefile.am > @@ -1,9 +1,4 @@ > - > -if STATIC_BUILD > -SUBDIRS = apr > -else > -SUBDIRS = > -endif > +SUBDIRS = > > test: > echo ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Ganglia-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ganglia-developers
