The configure script really needs a complete run through by somebody who =
is an autotools guru. There are some other library dependancies that =
aren't being picked up even on the linux platform. When I was building =
again yesterday on a clean install of SLED, after running the configure =
script successfully, the build still had problems with missing libfreetype,=
libpng and libart_lgpl. As stated by Jesse, I'm sure that there are =
several issues remaining with libapr1. =20
Here is a call for all of those autotools gurus out there to give the =
configure script a good run through. Especially on platforms other than =
>>> Jesse Becker <beckerjes@...> 11/29/2007 7:56 AM >>>
I've been trying to build the trunk version of Ganglia on an OpenBSD 4.1 =
recently, and it isn't for the faint of heart. Rather, I should say =
debugging autoconf/automake foibles isn't for the faint of heart.
OpenBSD 4.1 (release)
automake (GNU automake) 1.9.6
autoconf (GNU Autoconf) 2.59
Everything is installed as a package, if possible, and from /usr/ports, if =
After running the bootstrap script, I call:
./configure --with-libapr=3D/usr/local --with-libconfuse=3D/usr/local
For some reason, libexpat is found automatically, and I don't need to =
a location, even though it also resides in /usr/local.
Initially, the configure script was "unable to find libconfuse", even =
it is installed and usable. After much digging, I found that libconfuse =
dependencies on libintl and libiconv. These two libraries are not =
LDFLAGS for that section of the configure script, and test compile would =
fail. The error is a misleading since it *found* the library; it just=20
couldn't compile something using it. (not blaming this on Ganglia, since =
an autoconf issue)
I'm no expert on autoconf, but I think that this small patch fixes this=20
problem on OpenBSD:
--- configure.in.orig Wed Nov 28 16:34:39 2007
+++ configure.in Wed Nov 28 16:53:16 2007
@@ -339,7 +339,7 @@
echo Checking for confuse
if test x"$libconfusepath" !=3D x && test x"$libconfusepath" !=3D xyes =
- LDFLAGS=3D"$LDFLAGS -L$libconfusepath/lib"
+ LDFLAGS=3D"$LDFLAGS -L$libconfusepath/lib -lintl -liconv"
echo "Added -I$libconfusepath/include to CFLAGS"
echo "Added -L$libconfusepath/lib to LDLAGS"
Unfortunately, the problems don't end there; there are issues with apr.
For some reason, APR_CONFIG and APR_INCLUDES are not properly set in any =
the resulting Makefiles, nor is set in config.log. The configure script =
find apr-1-config though, as shown in the output from ./configure:
Checking for apr
Added -I/usr/local/include to CFLAGS
Added -I/usr/local/lib to LDLAGS
checking for apr_socket_send in -lapr-1... yes
The ganglia utilities use the Apache Portable Runtime functions=20
Found a suitable libapr1 library
The solution I found to fix this problem is much less elegant:
find . -name Makefile | xargs perl -pi \
-e 's,APR_INCLUDES =3D.*,APR_INCLUDES =3D -I/usr/local/include/apr-1,;' =
-e 's,^(CFLAGS =3D .*),$1 -I/usr/local/include/apr-1,;'
I think that if APR_CONFIG were properly set, then APR_INCLUDES (and =
would also be fixed as well.
After doing all this, ganglia compiles, and appears to work fine.
NHGRI Linux support (Digicon Contractor)