Summary: | sys-cluster/ganglia-2.5.7 fails to compile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Evil Compile Person <bugs> |
Component: | New packages | Assignee: | Gentoo Cluster Team <cluster> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | carenas, manuel, t35t0r |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
patch to let ebuild be compiled with kernel > 2.6.18 and safely in archs != x86 || amd64
patch to let ebuild be compiled with gcc >= 4 |
Description
Evil Compile Person
2006-10-22 05:40:55 UTC
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 |