Hi Brad:

I'm trying to build RPMs with ganglia trunk on CentOS 4.4 and ran into
some issues:

You added to the spec file the BuildRequires for libapr1-devel -- this
is the name of the SuSE package, this will not work for Red Hat/
Fedora, I have fixed it with the following:

-BuildRequires: libapr1-devel libpng-devel, libart_lgpl-devel, gcc-c++
+BuildRequires: libpng-devel, libart_lgpl-devel, gcc-c++
%if %{?suse_version:1}0
-BuildRequires: rrdtool, freetype2-devel
+BuildRequires: rrdtool, freetype2-devel, libapr1-devel
%else
-BuildRequires: rrdtool-devel, freetype-devel
+BuildRequires: rrdtool-devel, freetype-devel, apr-devel

You also added the --with-libapr option for configure in the spec
file.  CentOS 4.4 comes with apr-0.9.4 and did not seem to work.  Does
your code only work with apr 1.2.x?  If so we need to impose a version
dependency to apr(-devel) -- this also means that ganglia 3.0.5 will
not work with distributions that do not come with a more recent
version of apr -- do we have a solution for that (eg. by updating the
version of apr which we ship)?

I assume that if I link against apr-1.2.x, it will create also libexpat.so*...?

I'd like to release some snapshot RPMs soon via the openSUSE Build
Service -- so hopefully we can have these issues resolved.

Thanks!

Bernard

On 4/26/07, Brad Nicholes <[EMAIL PROTECTED]> wrote:


>>> On 4/26/2007 at 11:06 AM, in message
<[EMAIL PROTECTED]>, "Bernard Li"
<[EMAIL PROTECTED]> wrote:
> Brad:
>
> I recommend you take a look at this thread in ganglia-developers:
>
> http://sourceforge.net/mailarchive/message.php?msg_id=36BEEFA2DF192944BF71E0
> 72F7A5F465228FE7%40xchange1.phage.bcgsc.ca
>
> It offers a potential solution to platforms that do not have apr
> installed and also opinions of other distribution packagers regarding
> this issue :-)
>
> Thanks,
>
> Bernard
>

Yep, the whole reason why I left it so that static linking with the Ganglia copy of 
APR still works.  Since I am fairly new to this project, I didn't want to step on any 
toes too hard ;)  Going forward I think that I am in agreement with the idea of 
shipping two tarballs or at least providing --with-libXXX=<lib_path> configure 
options so that the packager or user has the option of how to build a complete 
Ganglia system.  I really don't care what the defaults for the configure options are. 
 They could default to dynamically linking the distro's libraries or statically 
linking the Ganglia packaged versions.  Configure can also be a little smarter and 
try to detect if the library is already on the system before including and building 
the Ganglia packaged version.  Bottomline is that we can certainly make the external 
libraries optional.

One issue that needs to be addressed is if Ganglia builds and installs APR (or 
any external library) onto a system that already has Apache or Subversion 
installed, there is the potential for a problem with duplicate versions of APR 
(expat, confuse, etc.).  As it stands, Ganglia is not making sure that it is 
not attempting to reinstall an existing library.  Of course this was one of the 
arguments for static linking.  However the problem with static linking at least 
APR, is that now that we have plugable metrics modules for GMOND, no metric 
module would be able to use APR.  Therefore, going forward, we need to 
dynamically link APR.  So the way to solve the problem would be to always build 
the external libraries as DSO's if the appropriate library does not already 
exist on the box.  Then install the libraries in an /opt/ganglia/lib location.

Anyway, sounds like there has been some good discussion on this topic in the 
past.  So let's solve it and move forward.

Brad






Reply via email to