Joined: 10 Feb 2006 Posts: 8 Location: Northern Arizona University
Posted: Tue Jun 27, 2006 10:42 pm Post subject: mkpkg on 64-bit systems.
I realize I'm ahead of the game a bit, but is there a way (.e.,g., with XFLAGS
or LFLAGS) to force XC to use a 32-bit compilation.
The command f77 program.f -o program works fine ... giving a 64-bit
executable.
However xc program.f -o program results in lots of error messages of the
form:
/usr/bin/ld: warning: i386 architecture of input file `/iraf/iraf/unix/bin.redhat/libos.a(gmttolst.o)' is incompatible with i386:x86-64 output
I'm just thinking out loud here ... but I suppose that there must be
a compatability library (RHEL WS 4) that I can download ... I'll look into that
as well.
Mike,
What do you think the chances are of a successful sysgen on the 64-bit
system?
I realize I'm ahead of the game a bit, but is there a way (.e.,g., with XFLAGS
or LFLAGS) to force XC to use a 32-bit compilation.
XC will accept the following environment flags to modify the compilation:
XC_CFLAGS
XC_FFLAGS
XC_LFLAGS
as well as XC_CC, XC_F77 and XC_LINKER to change the command used for each stage of the compilation or source file. So, try
setenv XC_FFLAGS "-m32"
to force 32-bit. Note this may be a problem for the F2C driver script, I can send you a patched version if needed. Put these definitions in your .cshrc file so they'll be picked up when MKPKG calls XC.
Quote:
What do you think the chances are of a successful sysgen on the 64-bit
system?
About the same chance we'll get snow later today. The IRAF kernel is not 64-bit clean and things like pointers, file descriptors, structures, etc all need to be looked at. It is essentially a new platform port at this level. Beyond that, applications need to be reviewed, e.g. the NPIX counter from IMSTAT needs to become a long integer, header structures may need to be changed, etc. I can make it easier to force 32-bit compiles, full 64-bit support is a lot of repetative checking of code.
BTW, on the Alpha we got away with using the '-taso' flag when compiling
and at the time GCC didn't have a -m32, one reason we couldn't ever do an Alpha/linux port. Linux kernels are already starting to mess with the memory model we rely on internally, at some point this will become much more critical.
In case you're wondering: It is cloudy now but a little warm.....
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum