View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum

fc compilation error in Ubuntu

Germán Racca wrote on Mar 18, 2013

I have installed IRAF v2.16 64-bits to a friend in an Ubuntu 12.04 LTS installation. When he tryies to compile a cl script that uses fortran, he gets the following error:

vocl> fc strl.f
/iraf/iraf/unix/hlib/f77.sh: 195: /iraf/iraf/unix/hlib/f77.sh: /iraf/iraf/unix/bin.linux64/f2c.e: not found
gcc: error: strl.c: No existe el archivo o el directorio
gcc: error fatal: no hay ficheros de entrada
compilación terminada.
link:
gcc: error: strl.o: No existe el archivo o el directorio


I use Fedora and this doesn't happen.

Any help is appreciated.

Germán.

James Turner wrote on Mar 18, 2013

Is your IRAFARCH environment variable set correctly? Do you have binaries in /iraf/iraf/unix/bin.linux64 or /iraf/iraf/unix/bin.linux? Just an idea.

Germán Racca wrote on Mar 18, 2013

@jturner: thanks for your answer. The output of the commands are:

vocl> !echo $IRAFARCH
linux64

vocl> ls /iraf/iraf/unix/bin.linux
(nothing here)

vocl> ls /iraf/iraf/unix/bin.linux64
alloc.e generic.e mach.h rtar.e sgi2uhpgl.e sgi2xbm.e xyacc.e
f2c.1 iraf.h mkpkg.e sgi2gif.e sgi2uhplj.e sgidispatch.e
f2c.1.gz libboot.a rmbin.e sgi2svg.e sgi2uimp.e wtar.e
f2c.e libf2c.a rmfiles.e sgi2uapl.e sgi2uptx.e xc.e
f2c.h libos.a rpp.e sgi2ueps.e sgi2uqms.e xpp.e

Mike Fitzpatrick wrote on Mar 18, 2013

Although the unix$bin.linux64/f2c.e binary exists, I suspect you're getting the 'not found' message because it cannot be run, and that probably because it is still a 32-bit binary requiring the ia32-libs package. This hasn't been distributed with Ubuntu since 11.10 but is still around as a convenience package if you do

sudo apt-get install package-name:i386


You can verify the before/after dependencies using 'ldd' on the f2c.e to be sure the libc.so is found.

If you have F2C already installed on the machine in say /usr/bin/f2c. you might also try just copying this to replace the f2c.e (keep the 'f2c.e' name though!) binary, but beware I haven't actually tried this yet. Originally F2C was shipped with IRAF because it wasn't standard on most default systems, it may be time to revisit that idea and use the host version as platforms gradually drop their 32-bit compatability.

Germán Racca wrote on Mar 18, 2013

Installing ia32-libs did the trick!

It is weird that the 64-bits version of Iraf is shipped with a 32-bits binary, I didn't know about that.

It would be nice if the next Iraf release includes only 64-bits binaries in the binary tarball :)

Thanks very much for your help!

Germán.

Last post on Mar 18, 2013