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