Moving from IRIX 5.3 to 6.5

Scott Sampson (sampson@nevis1.nevis.columbia.edu)
Mon, 17 May 1999 16:57:41 -0400


Hi,

I compile programs which use ROOT and link with fortran .o files which
use cernlib. I did this without problems on IRIX 5.3.

My sysadmin recently upgrade our SGI from IRIX5.3 to IRIX6.5. I assume
that I have to use a ROOT version compiled under IRIX6.X, so I download
the gcc IRIX6.2 from the website and change my Makefile to use gcc. But
when I try compiling I get

ld32: FATAL 12: Expecting n32 objects:
/usr5/zeus/sampson/apps/root/lib/libNew.so is o32.

it seems that the rootlibs are not compiled under n32, but the old o32!
So I try using the -o32 everywhere, then I get

/usr/bin/ld ERROR: cannot mix -o32 abi with -n32 abi. But it doesn't say
which lib is -n32. (I use cerlib 98 in this case: that's -o32, I believe.
when using n32 I use cerlib 99).

Out of desperation I try using the root compiled under CC IRIX5.3, and
-o32 everywhere and cern98 and get many warnings and errors, like

ld: WARNING 85: definition of y_gets in /usr/lib/libI77.a(dfe.o) preempts
that definition in /usr/lib/libftn.so.
ld: Giving up after printing 50 warnings. Use -wall to print all
warnings.
ld: ERROR 33: Unresolved text symbol "s_copy" -- 1st referenced by
/cern/98/lib/libpdflib.a(structm.o).

so it seems fortran linking doesn't work in this case.

Basically, I want to be able to compile with ROOT and link to fortran
CERLIB routines under IRIX 6.5. Can anyone tell me how to do this?

Thanks,

Scott