The ruby-rrd ebuild is badly out of date. The ebuild was submitted on
10/11/2004 and hasn't been updated since:
# etcat -c ruby-rrd
[ Results for search key : ruby-rrd ]
[ Candidate applications found : 1 ]
* ruby-rrd-1.1 (11 Oct 2004) :
11 Oct 2004; Michael Kohl <email@example.com> +metadata.xml,
Initial import. Ebuild submitted by pyon <firstname.lastname@example.org>, closing bug #67003
The new rrdtool api is not source-compatible with ruby-rrd. This breakage
appears to have started with the 1.2.x series of rrdtool. Since rrdtool-1.2.6
is the latest stable, ruby-rrd can't compile against it. Here is the error message:
i686-pc-linux-gnu-gcc -fPIC -O3 -march=pentium3 -funroll-loops -pipe -fPIC -I.
-I/usr/lib/ruby/1.8/i686-linux -I/usr/lib/ruby/1.8/i686-linux -I. -c main.c
main.c: In function `rb_rrd_graph':
main.c:149: error: too few arguments to function `rrd_graph'
make: *** [main.o] Error 1
Grepping the main.c file for rrd_graph obtains:
# grep rrd_graph *
main.c:VALUE rb_rrd_graph(VALUE self, VALUE args)
main.c: rrd_graph(a.len, a.strings, &calcpr, &xsize, &ysize);
main.c: rb_define_module_function(mRRD, "graph", rb_rrd_graph, -2);
Grepping /usr/include/rrd.h for rrd_graph obtains:
# grep rrd_graph /usr/include/rrd.h
* let rrd_graph return the actual value range it picked ...
* allow to pass an open filehandle into rrd_graph as an extra argument
int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *);
etcat -v of rrdtool yields:
# etcat -v rrdtool
[ Results for search key : rrdtool ]
[ Candidate applications found : 6 ]
Only printing found installed programs.
* net-analyzer/rrdtool :
[ ] 1.0.49 (0)
[M~ ] 1.0.50 (0)
[ ] 1.2.6 (0)
[ I] 1.2.6-r1 (0)
[M~ ] 1.2.9 (0)
[M~ ] 1.2.10 (0)
# epm -q ruby-rrd rrdtool
Steps to Reproduce:
I can reproduce this with the raw tarball. That is, it's upstream and not a
problem in the ebuild. So ... if there's an (ancient) rrdtool where this does
work, perhaps the ebuild should require it. Meanwhile, it doesn't look to me
like a Ruby problem or an rrdtool problem. The upstream author is listed in the
README in the tarball. The email address given there is
# author: Miles Egan <email@example.com>
I'll send him an email and see if he's still around.
I got a response from the upstream developer. He has a fix for this issue, but
the code isn't passing it's internal tests at run time yet. So we are closer. I
don't know either Ruby or rrdtool well enough yet to fix this on my own, but I'm
guessing it will only be a day or so before a viable update is available.
The upstream source is from
so it may need to go through Tobias (the creator of rrdtool) before it gets
I'll keep you all posted; a Ruby interface to rrdtool is something I need for a
Rails project I'm building, so I'm going to get this fixed. :)
(In reply to comment #3)
> Any news?
Not a single new. :)
Time for me to pulse upstream again, I guess.
*** Bug 117436 has been marked as a duplicate of this bug. ***
Created attachment 77305 [details, diff]
Ruby: You might want to DEPEND on <rrdtool-1.2 until this is fixed upstream.
I have found another version of binding, that should be working with rrdtools 1.2 http://rubyforge.org/projects/rubyrrdtool/
This was solved with the patch in bug #132570 , now ruby-rrd applies a compatibility patch when building against 1.2.
*** This bug has been marked as a duplicate of 132570 ***