checking rrd.h usability... yes checking rrd.h presence... yes checking for rrd.h... yes The Ganglia Meta Daemon uses the Round-Robin Database Tool (rrdtool) for storing historical information. You have chosen to compile the monitoring core with gmetad but librrd.a could not be found. Please visit http://www.rrdtool.com/, download rrdtool and then try again NOTE: the rrdtool library (librrd) will NOT need to be installed on every machine running gmetad only the machine you are compiling gmetad on since librrd is statically linked. make: *** No targets specified and no makefile found. Stop. !!! ERROR: sys-cluster/ganglia-2.5.7 failed. Gentoo Base System version 1.12.5 Portage 2.1.1 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.16.16 i686) ================================================================= System uname: 2.6.16.16 i686 AMD Athlon(tm) 64 Processor 3200+ Last Sync: Sat, 21 Oct 2006 17:00:01 +0000 ccache version 2.3 [disabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="ftp://212.219.56.134/sites/www.ibiblio.org/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo" LINGUAS="" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 berkdb bitmap-fonts cli cracklib crypt cups dlloader dri elibc_glibc fortran gdbm gpm input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux libg++ ncurses nls nptl nptlonly pam pcre perl ppds pppd python readline reflection session spl ssl tcpd truetype-fonts type1-fonts udev unicode userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xorg zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Please test 3.0.3, then reopen the bug and report back with your findings.
Making all in tests make[5]: Entering directory `/var/tmp/portage/ganglia-3.0.3/work/ganglia-3.0.3/s rclib/confuse/tests' if gcc -DHAVE_CONFIG_H -I. -I. -I.. -O2 -march=i686 -pipe -MT check_confuse. o -MD -MP -MF ".deps/check_confuse.Tpo" -c -o check_confuse.o check_confuse.c; \ then mv -f ".deps/check_confuse.Tpo" ".deps/check_confuse.Po"; else rm - f ".deps/check_confuse.Tpo"; exit 1; fi check_confuse.c:2:21: error: confuse.h: No such file or directory check_confuse.c:10: error: expected ')' before '*' token make[5]: *** [check_confuse.o] Error 1 make[5]: Leaving directory `/var/tmp/portage/ganglia-3.0.3/work/ganglia-3.0.3/sr clib/confuse/tests' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/ganglia-3.0.3/work/ganglia-3.0.3/sr clib/confuse' make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/ganglia-3.0.3/work/ganglia-3.0.3/sr clib/confuse' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/ganglia-3.0.3/work/ganglia-3.0.3/sr clib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/ganglia-3.0.3/work/ganglia-3.0.3' make: *** [all] Error 2 !!! ERROR: sys-cluster/ganglia-3.0.3 failed. Both x86 and ~x86 versions fail here.
3.0.4 has been released
3.0.4 version bump compiled without any problems on x86
the current "x86" stable package (still ganglia-2.5.7) fails to compile as shown by : i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I./dnet -O2 -march=i686 -pipe -Wall -D_REENTRANT -c gexec_process.c -MT gexec_process.lo -MD -MP -MF .deps/gexec_process.TPlo -fPIC -DPIC -o .libs/gexec_process.lo gexec_process.c:25:48: error: asm/page.h: No such file or directory gexec_process.c: In function 'gexec_process_func': gexec_process.c:330: error: 'PAGE_SHIFT' undeclared (first use in this function) gexec_process.c:330: error: (Each undeclared identifier is reported only once gexec_process.c:330: error: for each function it appears in.) make[2]: *** [gexec_process.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-cluster/ganglia-2.5.7/work/ganglia-monitor-core-2.5.7/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-cluster/ganglia-2.5.7/work/ganglia-monitor-core-2.5.7' make: *** [all] Error 2 * * ERROR: sys-cluster/ganglia-2.5.7 failed. * Call stack: * ebuild.sh, line 1654: Called dyn_compile * ebuild.sh, line 990: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * ganglia-2.5.7.ebuild, line 30: Called die * * (no error message) * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/sys-cluster/ganglia-2.5.7/temp/build.log'. * the current unstable (~x86) version =sys-cluster/ganglia-3.0.3 does compile though
=sys-cluster/ganglia-2.5.7 also fails to compile in amd64 (if forced stable) as shown by : x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I./dnet -march=athlon64 -pipe -O2 -Wall -D_REENTRANT -c gexec_process.c -MT gexec_process.lo -MD -MP -MF .deps/gexec_process.TPlo -fPIC -DPIC -o .libs/gexec_process.lo gexec_process.c:25:48: error: asm/page.h: No such file or directory gexec_process.c: In function 'gexec_process_func': gexec_process.c:330: error: 'PAGE_SHIFT' undeclared (first use in this function) gexec_process.c:330: error: (Each undeclared identifier is reported only once gexec_process.c:330: error: for each function it appears in.) make[2]: *** [gexec_process.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-cluster/ganglia-2.5.7/work/ganglia-monitor-core-2.5.7/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-cluster/ganglia-2.5.7/work/ganglia-monitor-core-2.5.7' make: *** [all] Error 2 and any other architecture that uses a modern kernel as the definition of PAGE_SHIFT was moved to "sys/user.h" from glibc after it was banned on the linux system headers (was never meant to be used in userspace anyway)
just to clarify, this is broken (as won't compile) for any kernel > 2.6.18, but will be broken (even if it compiled) on any architecture where PAGE_SIZE isn't constant (ppc, mips and ia64) more details in the following URL from the debian bug where a proposed patch can be found: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394211 still IMHO considering this is no longer maintained upstream, moving to 3.x would be a better approach.
Created attachment 131978 [details, diff] patch to let ebuild be compiled with kernel > 2.6.18 and safely in archs != x86 || amd64 from debian mainly with a slight twist to remove dependency on missing linux system header as well
building with gcc4 (=sys-devel/gcc-4.1.2) it will fail as shown by : source='machine.c' object='machine.o' libtool=no \ depfile='.deps/machine.Po' tmpdepfile='.deps/machine.TPo' \ depmode=gcc3 /bin/sh ../config/depcomp \ x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../lib/dnet -march=athlon64 -pipe -O2 -Wall -D_REENTRANT -c `test -f 'machine.c' || echo './'`machine.c machine.c: In function 'pkts_in_func': machine.c:120: error: invalid lvalue in assignment machine.c: In function 'pkts_out_func': machine.c:180: error: invalid lvalue in assignment machine.c: In function 'bytes_out_func': machine.c:241: error: invalid lvalue in assignment machine.c: In function 'bytes_in_func': machine.c:305: error: invalid lvalue in assignment machine.c: In function 'cpu_num_func': machine.c:335: warning: implicit declaration of function 'get_nprocs' make[3]: *** [machine.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/sys-cluster/ganglia-2.5.7/work/ganglia-monitor-core-2.5.7/gmond' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-cluster/ganglia-2.5.7/work/ganglia-monitor-core-2.5.7/gmond' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-cluster/ganglia-2.5.7/work/ganglia-monitor-core-2.5.7' make: *** [all] Error 2 * * ERROR: sys-cluster/ganglia-2.5.7 failed. * Call stack: * ebuild.sh, line 1654: Called dyn_compile * ebuild.sh, line 990: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * ganglia-2.5.7-r1.ebuild, line 38: Called die * * (no error message) * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/sys-cluster/ganglia-2.5.7/temp/build.log'.
Created attachment 131979 [details, diff] patch to let ebuild be compiled with gcc >= 4 mainly from debian
Folks, please stop making this a bug a collection of completely unrelated issues, it will never get anywhere like this. Comment #0 - the original bug Comment #2 - see Bug 194336 and the patches there, has nothing to do with the original bug Comment #5 and Comment #6 - linux-headers issue, plus already fixed in 3.0.3 as noted. Again, has nothing to do with the original bug Comment #9 - gcc4 compatibility issue, again has nothing to do with the original bug. I suppose 3.0.3 again works just fine. If you have issues with 3.0.3, file a *new* bug. Otherwise we should stabilize it since it fixes all the issues mentioned here. Closing this mess as FIXED since the original rrdtool issue is fixed.
taking that the current "x86" package wouldn't compile in an "x86" system (because of the kernel/gcc problems mentioned before) and that 3.0.3 also has bugs of their own I would suggest instead aiming to stabilize 3.0.5 as proposed in bug 194815. in any case, if anyone is interested on a working ebuild for 2.5.7 there is one available in the following external overlay : layman -f -o http://tapir.sajinet.com.pe/gentoo/layman.xml -a sajinet