After the failure of the home server for one of the groups, some code that referenced CERNLIB was no longer running. We were getting errors like this:

/cpv/code/CERNLIB/2005/lib/libpacklib.a(cfclos.o)(.text+0xa): In function `cfclos_':
: undefined reference to `rfio_close'
/cpv/code/CERNLIB/2005/lib/libpacklib.a(cfget.o)(.text+0x30): In function `cfget_':
: undefined reference to `rfio_read'
/cpv/code/CERNLIB/2005/lib/libpacklib.a(cfget.o)(.text+0x5a): In function `cfget_':
: undefined reference to `serrno'
/cpv/code/CERNLIB/2005/lib/libpacklib.a(cfget.o)(.text+0x63): In function `cfget_':
: undefined reference to `rfio_errno'
/cpv/code/CERNLIB/2005/lib/libpacklib.a(cfget.o)(.text+0x7d): In function `cfget_':
: undefined reference to `rfio_perror'
/cpv/code/CERNLIB/2005/lib/libpacklib.a(cfput.o)(.text+0x2b): In function `cfput_':
: undefined reference to `rfio_write'
/cpv/code/CERNLIB/2005/lib/libpacklib.a(cfput.o)(.text+0x37): In function `cfput_':

The error has to do with the library libpacklib.a. After googling a bit, I took a closer look at this library and found that it was actually a symbolic link to libpacklib_shift.a. In that same directory, there was also a libpacklib_noshift.a. My searches turned up that this libshift had to do with the tape library at CERN. Since we were not at CERN, we did not need this. So I just deleted the link (and another one for libpacklib-shift.a) and recreated it as below.

Original settings:

[root@host lib]# ll libpack*
lrwxrwxrwx  1 root root      18 Oct 29 08:23 libpacklib.a -> libpacklib_shift.a
-rw-r--r--  1 root root 7752622 Mar 29  2006 libpacklib_noshift.a
-rw-r--r--  1 root root 7774098 Mar 29  2006 libpacklib_shift.a
lrwxrwxrwx  1 root root      18 Oct 29 08:23 libpacklib-shift.a -> libpacklib_shift.a

My changes:

[root@host lib]# rm libpacklib.a 
rm: remove symbolic link `libpacklib.a'? y
[root@host lib]# ln -s libpacklib_noshift.a libpacklib.a
[root@host lib]# rm libpacklib-shift.a 
rm: remove symbolic link `libpacklib-shift.a'? y
[root@host lib]# ll libpack*
lrwxrwxrwx  1 root root      20 Oct 29 08:35 libpacklib.a -> libpacklib_noshift.a
-rw-r--r--  1 root root 7752622 Mar 29  2006 libpacklib_noshift.a
-rw-r--r--  1 root root 7774098 Mar 29  2006 libpacklib_shift.a

After this, the code compiled correctly again. Some people were still using the 2004 CERNLIB, so I made the change there as well. (Though here, there wasn’t a symbolic link, but the libpacklib-shift.a file was just copied to libpacklib.a. I renamed it and created a symbolic link.)

[root@host lib]# ll libpack*
-rw-r--r--  1 owner cpv 7734466 Jul 22  2004 libpacklib.a
-rw-r--r--  1 owner cpv 7712940 Jul 28  2004 libpacklib_noshift.a
-rw-r--r--  1 owner cpv 7734466 Jul 22  2004 libpacklib-shift.a
[root@host lib]# mv libpacklib.a libpacklib.a.OLD
[root@host lib]# ln -s libpacklib_noshift.a libpacklib.a
[root@host lib]# ll libpack*
lrwxrwxrwx  1 root   root      20 Oct 29 08:47 libpacklib.a -> libpacklib_noshift.a
-rw-r--r--  1 owner cpv  7734466 Jul 22  2004 libpacklib.a.OLD
-rw-r--r--  1 owner cpv  7712940 Jul 28  2004 libpacklib_noshift.a
-rw-r--r--  1 owner cpv  7734466 Jul 22  2004 libpacklib-shift.a