Re: [ROOT] Root won't compile with new cernlib

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Oct 18 2002 - 00:01:08 MEST


Hi Tim,

In the recent release of CERNLIB, the RFIO routines have been removed from
libPacklib and moved to a separate library /usr/local/lib/libshift.a.

If you use the standard ROOT Makefile, you should not see this problem.
With this Makefile, you will get:
g++ -O  -o bin/h2root main/src/h2root.o hbook/src/hntvar2.o \
           -Llib -lCore -lCint -lHist -lGraf -lGraf3d -lTree -lMatrix \
            /cern/pro/lib/libpacklib.a /cern/pro/lib/libkernlib.a   \
           /usr/local/lib/libshift.a -lnsl -lg2c -lnsl -lm -ldl

Note that the PRO release of ROOT is 3.03/09 and not 3.03/07

Rene Brun

On Wed, 16 Oct 2002, Tim Barrass wrote:

> Hi all,
> 
> I've just encountered a similar problem to that experienced by Jochen Cammin: that is, compiling ROOT 3.03.07 (part of the CMS software package) results in the error below when compiling against certain cernlibs. Is there a recommended course of action for getting round this one? (For info, our libpacklib.a was updated Sept 19th)...
> 
> Cheers,
> 
> Tim
> 
> g++ -O  -o bin/h2root main/src/h2root.o hbook/src/hntvar2.o \
>            -Llib -lCore -lCint -lHist -lGraf -lGraf3d -lTree -lMatrix \
>             /cern/pro/lib/libpacklib.a /cern/pro/lib/libkernlib.a -lg2c -lnsl -lm -ldl -L/usr/lib -lpthread -rdynamic
> /cern/pro/lib/libpacklib.a(cfclos.o): In function `cfclos_':
> cfclos.o(.text+0xe): undefined reference to `rfio_close'
> /cern/pro/lib/libpacklib.a(cfget.o): In function `cfget_':
> cfget.o(.text+0x32): undefined reference to `rfio_read'
> cfget.o(.text+0x61): undefined reference to `serrno'
> cfget.o(.text+0x6a): undefined reference to `rfio_errno'
> cfget.o(.text+0x84): undefined reference to `rfio_perror'
> /cern/pro/lib/libpacklib.a(cfput.o): In function `cfput_':
> cfput.o(.text+0x2d): undefined reference to `rfio_write'
> cfput.o(.text+0x39): undefined reference to `serrno'
> cfput.o(.text+0x42): undefined reference to `rfio_errno'
> cfput.o(.text+0x5c): undefined reference to `rfio_perror'
> /cern/pro/lib/libpacklib.a(cfseek.o): In function `cfseek_':
> cfseek.o(.text+0x26): undefined reference to `rfio_lseek'
> cfseek.o(.text+0x4f): undefined reference to `rfio_perror'
> /cern/pro/lib/libpacklib.a(cfopei.o): In function `cfopei_':
> cfopei.o(.text+0xd9): undefined reference to `rfio_open'
> cfopei.o(.text+0xf4): undefined reference to `serrno'
> cfopei.o(.text+0xfd): undefined reference to `rfio_errno'
> cfopei.o(.text+0x118): undefined reference to `rfio_perror'
> /cern/pro/lib/libpacklib.a(cfstati.o): In function `cfstati_':
> cfstati.o(.text+0x4a): undefined reference to `rfio_stat'
> collect2: ld returned 1 exit status
> gmake: *** [bin/h2root] Error 1
> 
> Hi Jochen,
> 
> Yes, we are currently working on this problem. Should be fixed this
> afternoon.
> 
> Rene Brun
> 
> On Mon, 16 Sep 2002, Jochen Cammin wrote:
> 
> > Dear ROOTers,
> > 
> > today I tried to compile the HEAD version of ROOT which fails during 
> > linking to the cernlibs (using CERN RedHat7.2.1 and AFS; it worked just 
> > fine last week). This is probably due to the 2002 version of cernlib which 
> > became PRO on 13 Sept.
> >    If you link to the old (2001) version (./configure linux 
> > --with-cern-libdir=/cern/old/lib) it works. Would be nice if this can be fixed.
> > 
> > Best regards,
> >    Jochen
> > 
> > 
> > The error message from the linker is:
> > 
> > g++ -O  -o bin/h2root main/src/h2root.o hbook/src/hntvar2.o \
> >             -Llib -lCore -lCint -lHist -lGraf -lGraf3d -lTree -lMatrix \
> >              /cern/pro/lib/libpacklib.a /cern/pro/lib/libkernlib.a -lg2c 
> > -lnsl -lm -ldl -L/usr/lib -lpthread -rdynamic
> > /cern/pro/lib/libpacklib.a(cfclos.o): In function `cfclos_':
> > cfclos.o(.text+0xe): undefined reference to `rfio_close'
> > /cern/pro/lib/libpacklib.a(cfget.o): In function `cfget_':
> > cfget.o(.text+0x32): undefined reference to `rfio_read'
> > cfget.o(.text+0x61): undefined reference to `serrno'
> > cfget.o(.text+0x6a): undefined reference to `rfio_errno'
> > cfget.o(.text+0x84): undefined reference to `rfio_perror'
> > /cern/pro/lib/libpacklib.a(cfput.o): In function `cfput_':
> > cfput.o(.text+0x2d): undefined reference to `rfio_write'
> > cfput.o(.text+0x39): undefined reference to `serrno'
> > cfput.o(.text+0x42): undefined reference to `rfio_errno'
> > cfput.o(.text+0x5c): undefined reference to `rfio_perror'
> > /cern/pro/lib/libpacklib.a(cfseek.o): In function `cfseek_':
> > cfseek.o(.text+0x26): undefined reference to `rfio_lseek'
> > cfseek.o(.text+0x4f): undefined reference to `rfio_perror'
> > /cern/pro/lib/libpacklib.a(cfopei.o): In function `cfopei_':
> > cfopei.o(.text+0xd9): undefined reference to `rfio_open'
> > cfopei.o(.text+0xf4): undefined reference to `serrno'
> > cfopei.o(.text+0xfd): undefined reference to `rfio_errno'
> > cfopei.o(.text+0x118): undefined reference to `rfio_perror'
> > /cern/pro/lib/libpacklib.a(cfstati.o): In function `cfstati_':
> > cfstati.o(.text+0x4a): undefined reference to `rfio_stat'
> > collect2: ld returned 1 exit status
> > gmake: *** [bin/h2root] Error 1
> > Command exited with non-zero status 2
> > 
> 
> 
> 
> =================================
> Dept of Physics, University of Bristol, Bristol, UK, BS6 6QE
> +44 117 928 8760 (office) | +44 925 5624 (fax) | tim.barrass@physics.org 
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:14 MET