Summary: | net-analyzer/rrdtool-1.5.3 with sys-cluster/ceph - rrd_restore.c:41:23: fatal error: rrd_rados.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Drunkard Zhang <gongfan193> |
Component: | Current packages | Assignee: | Gentoo Netmon project <netmon> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 549516 | ||
Attachments: |
build.log
rrdtool-1.5.3-r1.ebuild.patch |
Description
Drunkard Zhang
2015-05-07 04:16:54 UTC
Created attachment 402802 [details]
build.log
build log
Confirming, ~amd64 here too. I manually downloaded the header from https://github.com/oetiker/rrdtool-1.x/blob/master/src/rrd_rados.h and put in the src-dir, then a manual 'make' continues. For a while.. Next up is: Making all in doc make[1]: Entering directory '/var/tmp/portage/net-analyzer/rrdtool-1.5.2/work/rrdtool-1.5.2/doc' make[1]: *** No rule to make target 'rrdrados.pod', needed by 'all-am'. Stop. make[1]: Leaving directory '/var/tmp/portage/net-analyzer/rrdtool-1.5.2/work/rrdtool-1.5.2/doc' Makefile:568: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 but I suppose that's another report.. Thing is, rrd_rados.h is missing in rrdtool-1.5.3 source-zip as well, but a raw manual download from GIT-hub makes 1.5.3 compile fine all the way. I can reproduce this bug, it happens when you have sys-cluster/ceph installed prior to installing rrdtool. (In reply to Charlie Gehlin from comment #3) > Thing is, rrd_rados.h is missing in rrdtool-1.5.3 source-zip as well, but a > raw manual download from GIT-hub makes 1.5.3 compile fine all the way. I guess rrd_rados.h was provided externally (by ceph) in old versions of rrdtool, and internally in new versions of rrdtool. We need to look at the CHANGES/README/INSTALL files to see what versions of ceph are needed, then add that as dependency to rrdtool-1.5.2.ebuild, rrdtool-1.5.3.ebuild, etc. All right, then we need a USE=rados and a dependency, and we need to ship the headers that upstream missed. This is not fixed in 1.5.3 but I'll add it to 1.5.3-r1. I can't actually test against sys-cluster/ceph since it injects all kinds of unsupported CFLAGS that break the build later on. Could anyone here do the honours? USE=rados emerge -v net-analyzer/rrdtool-1.5.3-r1 Created attachment 403950 [details] rrdtool-1.5.3-r1.ebuild.patch (In reply to Jeroen Roovers from comment #6) You're still missing a file. Once you have src/rrd_rados.h and doc/rrdrados.pod, it builds. > echo 'net-analyzer/rrdtool rados' > /etc/portage/package.use/rrdtool > echo '=net-analyzer/rrdtool-1.5.3-r1 ~amd64' > /etc/portage/package.accept_keywords/rrdtool > emerge =net-analyzer/rrdtool-1.5.3-r1 [snip] >>> Installing (1 of 1) net-analyzer/rrdtool-1.5.3-r1::testing Do you think it's worth commenting in the ebuild this is a temporary fix? (In reply to Andrew Miller from comment #7) > Created attachment 403950 [details] > rrdtool-1.5.3-r1.ebuild.patch > > (In reply to Jeroen Roovers from comment #6) > > You're still missing a file. > > Once you have src/rrd_rados.h and doc/rrdrados.pod, it builds. Added. > Do you think it's worth commenting in the ebuild this is a temporary fix? In "cp ..." I changed ${PN}-1.5.3 to ${P} so that on the next bump, maintainers would look at that bit of failing code and hopefully check whether those files are still needed. |