Hello!
I’m trying to compile ROOT version 5.12.00f on a x86 Gentoo Linux machine, glibc 2.3.6.
The failure happens with this sympthom:
cint/main/cint_tmp -K -w1 -zipc -ncint/lib/G__c_ipc.c -D__MAKECINT__ -DG__MAKECINT \
-c-2 -Z0 cint/lib/ipc/ipcif.h
Error: Symbol __BEGIN_DECLS#include is not defined in current scope /usr/include/sys/types.h:35:
Error: Symbol bits is not defined in current scope /usr/include/sys/types.h:35:
Error: Symbol types is not defined in current scope /usr/include/sys/types.h:35:
Error: Failed to evaluate types.h
Error: operator '/' divided by zero /usr/include/sys/types.h:35:
Error: Symbol #ifdef__USE_BSD#ifndef__u_char_definedtypedef__u_charu_char is not defined in current scope /usr/include/sys/types.h:35:
!!!Removing cint/lib/G__c_ipc.c cint/lib/G__c_ipc.h !!!
make: *** [cint/lib/G__c_ipc.c] Error 1
make: *** Waiting for unfinished jobs....
rm cint/lib/dll_stl/G__cpp_map.o cint/lib/dll_stl/G__cpp_multiset.o cint/lib/G__c_stdcxxfunc.c cint/lib/dll_stl/G__cpp_set.o cint/lib/dll_stl/G__cpp_deque.o cint/lib/dll_stl/G__cpp_list.o cint/lib/dll_stl/G__cpp_multimap.o
(working directory was the main sources directory).
It seems it did not find or understand the glibc header (sys/cdefs.h) which defined what __BEGIN_DECLS is (namely, an ‘extern “C” {’ line, or nothing if in C mode). If I used “-p” option, it would succeed with some warning like the following:
Note: Link requested for undefined class timespec (ignore this message) :0:
Using cpp instead of cint_tmp, the pre-compilation works fine.
How could I get rid of that error?
Gentoo default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r5, 2.6.18-gentoo-r2 i686
Last Sync: Sun, 12 Nov 2006 12:50:01 +0000
CBUILD=“i686-pc-linux-gnu”