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