Index: RRDTool-OO-0.27/Makefile.PL
--- RRDTool-OO-0.27/Makefile.PL.orig	2009-09-27 22:19:17 +0200
+++ RRDTool-OO-0.27/Makefile.PL	2009-09-28 17:33:53 +0200
@@ -2,52 +2,12 @@
 use ExtUtils::MakeMaker;
 use File::Basename;
 
-# Check if RRDs is installed
-
-eval "use RRDs 1.2011";
-
-    # (1) libcgi is missing on most Linux/FreeBSD systems, and we
-    #     don't need it anyway.
-    # (2) as of rrdtool-1.2.11, tcl libs didn't compile, so let's
-    #     leave them out.
-my $CONFIGURE_OPTS = "--enable-perl-site-install --prefix=/usr --disable-tcl --disable-rrdcgi";
-
-my $DIST_URL = 
-"http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz";
-
-if($@) {
-    print <<EOT;
-This module requires rrdtool 1.2.x and the RRDs module to be 
-installed. They are available in the rrdtool distribution:
- $DIST_URL
-EOT
-
-    $| = 1;
-    my $in = prompt ("Do you want me to install it for you right now (y/n)?","n");
-    chomp $in;
-    if($in =~ /^\s*$/ or $in =~ /y/i) {
-        if($> != 0) {
-            die "\nYou need to be root to do this.\n";
-        }
-        eval { install_RRDs() };
-        if($@) {
-            print $@;
-            note();
-            exit 0;
-        }
-    } else {
-        note();
-        exit 0;
-    }
-}
-
 # See lib/ExtUtils/MakeMaker.pm for details of how to influence
 # the contents of the Makefile that is written.
 WriteMakefile(
     NAME              => 'RRDTool::OO',
     VERSION_FROM      => 'lib/RRDTool/OO.pm', # finds $VERSION
     PREREQ_PM         => {
-                         Log::Log4perl => '0.40',
                          RRDs          => 0,
                          }, # e.g., Module::Name => 1.1
     ($] >= 5.005 ?     ## Add these new keywords supported since 5.005
Index: RRDTool-OO-0.27/lib/RRDTool/OO.pm
--- RRDTool-OO-0.27/lib/RRDTool/OO.pm.orig	2009-09-27 22:28:16 +0200
+++ RRDTool-OO-0.27/lib/RRDTool/OO.pm	2009-09-28 17:32:58 +0200
@@ -5,7 +5,6 @@
 use warnings;
 use Carp;
 use RRDs;
-use Log::Log4perl qw(:easy);
 
 our $VERSION = '0.26';
 
@@ -188,7 +187,7 @@
         # Check if we got all mandatory parameters
     for(@{$ref->{mandatory}}) {
         if(! exists $options_hash{$_}) {
-            Log::Log4perl->get_logger("")->logcroak(
+            croak(
                 "Mandatory parameter '$_' not set " .
                 "in $method() (@{[%mandatory]}) (@$options)");
         }
@@ -200,7 +199,7 @@
         for(keys %options_hash) {
             if(! exists $optional{$_} and
                ! exists $mandatory{$_}) {
-                Log::Log4perl->get_logger("")->logcroak(
+               croak(
                     "Illegal parameter '$_' in $method()");
             }
         }
Index: bindings/perl-shared/Makefile.PL
--- bindings/perl-shared/Makefile.PL.orig	2008-12-05 16:39:55 +0100
+++ bindings/perl-shared/Makefile.PL	2009-09-28 17:32:58 +0200
@@ -1,36 +1,7 @@
 use ExtUtils::MakeMaker;
 use Config;
-# See lib/ExtUtils/MakeMaker.pm for details of how to influence
-# the contents of the Makefile that is written.
 
-# if the last argument when calling Makefile.PL is RPATH=/... and ... is the
-# path to librrd.so then the Makefile will be written such that RRDs.so knows
-# where to find librrd.so later on ... 
-my $R="";
-if ($ARGV[-1] =~ /RPATH=(\S+)/){
-	pop @ARGV;
-	my $rp = $1;
-	for ($^O){
-	        /linux/   && do{ $R = "-Wl,--rpath -Wl,$rp"};
-	        /hpux/    && do{ $R = "+b$rp"};
-	        /solaris/ && do{ $R = "-R$rp"};
-	        /bsd/     && do{ $R = "-R$rp"};
-                /aix/     && do{ $R = "-Wl,-blibpath:$rp"};
-	}
-}
-
-# darwin works without this because librrd contains its
-# install_name which will includes the final location of the
-# library after it is installed. This install_name gets transfered
-# to the perl shared object.
-
-my $librrd;
-if ($^O eq 'darwin'){
-        $librrd = '-lrrd';
-}
-else {
-        $librrd = "-L../../src/.libs/ $R -lrrd";
-}
+my $librrd = "-L../../src/.libs/ -lrrd -L$Config{prefix}/lib -lcairo -lpangocairo -lpixman-1 -lpango -lpangoft2 -lfreetype -lpng -lgobject2 -lgio2 -lgmodule2 -lglib2 -lfontconfig -lfreetype -lxml2 -lexpat -lpcre -lz -liconv -lintl";
 
 WriteMakefile(
     'NAME'         => 'RRDs',
Index: bindings/python/setup.py
--- bindings/python/setup.py.orig	2008-03-15 11:39:48 +0100
+++ bindings/python/setup.py	2009-09-28 17:32:58 +0200
@@ -47,7 +47,7 @@
           Extension(
             "rrdtoolmodule",
             ["rrdtoolmodule.c"],
-            libraries=['rrd'],
+            libraries=['rrd', 'freetype', 'art_lgpl', 'png', 'z'],
             library_dirs=[library_dir],
             include_dirs=[include_dir],
           )
Index: configure
--- configure.orig	2009-05-19 15:45:23 +0200
+++ configure	2009-09-28 17:32:58 +0200
@@ -23293,7 +23293,7 @@
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpango-1.0  $LIBS"
+LIBS="-lpango $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -23482,7 +23482,7 @@
 
 fi
 if test "x$ac_cv_header_pango_pango_h" = x""yes; then
-  LIBS="-lpango-1.0 ${LIBS}";EX_CHECK_STATE=YES
+  LIBS="-lpango ${LIBS}";EX_CHECK_STATE=YES
 fi
 
 
@@ -23545,7 +23545,7 @@
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpango-1.0  $LIBS"
+LIBS="-lpango $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -25049,9 +25049,9 @@
 $as_echo_n "checking for headers required to compile python extensions... " >&6; }
 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
-PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
+PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION} -I${py_prefix}/include/python"
 if test "$py_prefix" != "$py_exec_prefix"; then
-  PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
+  PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION} -I${py_exec_prefix}/include/python"
 fi
 
 save_CPPFLAGS="$CPPFLAGS"
Index: src/rrd_open.c
--- src/rrd_open.c.orig	2009-05-19 15:45:05 +0200
+++ src/rrd_open.c	2009-09-28 17:32:58 +0200
@@ -219,7 +219,7 @@
 #endif
     if (rdwr & RRD_CREAT)
         goto out_done;
-#ifdef USE_MADVISE
+#if defined(USE_MADVISE) && defined(MADV_WILLNEED) && defined(MADV_SEQUENTIAL) && defined(MADV_RANDOM)
     if (rdwr & RRD_COPY) {
         /* We will read everything in a moment (copying) */
         madvise(data, rrd_file->file_len, MADV_WILLNEED | MADV_SEQUENTIAL);
@@ -252,7 +252,7 @@
                       rrd->stat_head->version);
         goto out_nullify_head;
     }
-#if defined USE_MADVISE
+#if defined(USE_MADVISE) && defined(MADV_WILLNEED)
     /* the ds_def will be needed soonish, so hint accordingly */
     madvise(data + PAGE_START(offset),
             sizeof(ds_def_t) * rrd->stat_head->ds_cnt, MADV_WILLNEED);
@@ -260,7 +260,7 @@
     __rrd_read(rrd->ds_def, ds_def_t,
                rrd->stat_head->ds_cnt);
 
-#if defined USE_MADVISE
+#if defined(USE_MADVISE) && defined(MADV_WILLNEED)
     /* the rra_def will be needed soonish, so hint accordingly */
     madvise(data + PAGE_START(offset),
             sizeof(rra_def_t) * rrd->stat_head->rra_cnt, MADV_WILLNEED);
@@ -275,7 +275,7 @@
             rrd_set_error("live_head_t malloc");
             goto out_close;
         }
-#if defined USE_MADVISE
+#if defined(USE_MADVISE) && defined(MADV_WILLNEED)
         /* the live_head will be needed soonish, so hint accordingly */
         madvise(data + PAGE_START(offset), sizeof(time_t), MADV_WILLNEED);
 #endif
@@ -285,7 +285,7 @@
         rrd->live_head->last_up = *rrd->legacy_last_up;
         rrd->live_head->last_up_usec = 0;
     } else {
-#if defined USE_MADVISE
+#if defined(USE_MADVISE) && defined(MADV_WILLNEED)
         /* the live_head will be needed soonish, so hint accordingly */
         madvise(data + PAGE_START(offset),
                 sizeof(live_head_t), MADV_WILLNEED);
@@ -415,7 +415,7 @@
                        + rrd->rra_ptr[i].cur_row
                        * rrd->stat_head->ds_cnt * sizeof(rrd_value_t));
         if (active_block > dontneed_start) {
-#ifdef USE_MADVISE
+#if defined(USE_MADVISE) && defined(MADV_DONTNEED)
             madvise(rrd_file->file_start + dontneed_start,
                     active_block - dontneed_start - 1, MADV_DONTNEED);
 #endif
@@ -440,7 +440,7 @@
     }
 
     if (dontneed_start < rrd_file->file_len) {
-#ifdef USE_MADVISE
+#if defined(USE_MADVISE) && defined(MADV_DONTNEED)
 	    madvise(rrd_file->file_start + dontneed_start,
 		    rrd_file->file_len - dontneed_start, MADV_DONTNEED);
 #endif
