Problems building/linking root v4.02 under Fedora Core 3


I am trying to build root v4.02 under Fedora Core 3 (2.6 kernel, gcc 3.4) but fail. Compilation goes well, but at the linking stage I get:
g++ -O -o bin/h2root main/src/h2root.o hbook/src/hntvar2.o
-Llib -lCore -lCint -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix
/cern/pro/lib/libpacklib.a /cern/pro/lib/libkernlib.a
-lg2c -lnsl -lm -ldl -pthread -rdynamic
/cern/pro/lib/libpacklib.a(error.o)(.text+0x5c5): In function rfio_serror_r': /afs/ warning:sys_errlist’ is deprecated; use strerror' orstrerror_r’ instead
/cern/pro/lib/libpacklib.a(serror.o)(.text+0x29b): In function sstrerror_r': /afs/ warning:sys_nerr’ is deprecated; use strerror' orstrerror_r’ instead
/cern/pro/lib/libpacklib.a(u64subr.o)(.text+0x2f): In function strtou64': /afs/ undefined reference to__ctype_b’
/cern/pro/lib/libpacklib.a(u64subr.o)(.text+0x61):/afs/ undefined reference to __ctype_b' /cern/pro/lib/libpacklib.a(u64subr.o)(.text+0x20f): In functionstrutou64’:
/afs/ undefined reference to __ctype_b' /cern/pro/lib/libpacklib.a(u64subr.o)(.text+0x241):/afs/ undefined reference to__ctype_b’
collect2: ld returned 1 exit status
make: *** [bin/h2root] Error 1

I think __ctype_b should be replaced with __ctype_b_loc, but am not sure how to do that. Is there an easy fix for that or do I need to recompile cernlibs as well, and if so how? Anyway I am surprised why afs shows up there, because my machine is not sitting on afs…




You need to download a newer version of cernlib which has been compiled for FC3.


Any idea where I could find a precompiled version for FC3? does not really give me an option there. And if I remember right, building cernlibs myself from scratch is a very painful exercise…

Any help appreciated!

Thanks, Daniel

You could try, PC Linux Cern slc3_ia32_gcc323(Cernlib 2004) or PC Linux RH10 (RH9); gcc 3.3 (Cernlib 2003). If neither work and really need h2root and your machine, you’ll need to compiler cernlib.


cernlib 2003 seems to do the job, at least root linked ok now, have to crosscheck if it works still together with geant4 (which is compiling actually).

Didn’t even think I could try a gcc3.3/kernel2.4 build for my gcc3.4/kernel 2.6 installation, but it doesn’t look bad for the moment, thanks!