View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum

Building x11iraf on 64bit Ubuntu

Jim Lewis wrote on Feb 09, 2012

Hi,

If I try to use one of the prebuilt 32bit binaries for x11iraf on my 64bit Ubuntu machine, I get the following:

/soft/local/bin/xgterm: Command not found

So I wanted to try and build the binaries myself. Unfortunately the build fails pretty spectacularly as it is unable to find .h files and it looks like there are loads of errors where data structures are missing certain members, etc. So I'm guessing this has something to do with missing dependencies. What's the best way forward here?

cheers, Jim

Mike Fitzpatrick wrote on Feb 09, 2012

A 'command not found' may mean that either the binary wasn't installed (does /soft/local/bion/xgterm exist?), it isn't in your path (but you gave an explicit path), or the binary cannot be run for some reason (either isn't executable or has missing shared lib dependencies). If the file exists and has correct permissions, run

ldd /soft/local/bin/xgterm

to check for missing dependencies. These would likely be 32-bit versions of libs you already have but need to be installed separately.

As for the build problems, are you trying to build IRAF or X11IRAF? XGterm isn't part of the IRAF source tree so there's no point in building IRAF, and the X11IRAF sources are know to not be 64-bit clean so there's no point in building those either? That's not to say you're not missing something on your machine for a complete dev environment, however you should just be able to use the binaries from

ftp://iraf.noao.edu/iraf/x11iraf/x11iraf-v2.0BETA-bin.linux.tar.gz

There are no plans to make a 64-bit version of the X11IRAF tools (it would literally be easier to write something new).

Cheers,
-Mike

Jim Lewis wrote on Feb 09, 2012

Hi,
The xgterm binary definitely exists and is executable. If I do ldd on a 32 bit machine (debian) and a 64 bit machine (ubuntu) I get:

On a 32 bit machine:
jrl@apm11(/soft/local/bin){2}> ldd xgterm
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0xb7ef9000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb7ea7000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb7e9e000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb7e87000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7e79000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7db2000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb7d73000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7d50000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7c1b000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7c18000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7f19000)

On a 64 bit machine:

jrl@apm34(/soft/local/bin){4}> ldd xgterm
not a dynamic executable

I hadn't realised that x11iraf wasn't 64 bit clean, so that's probably why I can't rebuild it. We had a situation not long ago where we had 2 machines with the same operating system (Fedora 14). One could execute a 32bit binary and one could not.(You got the same errors as above -- command not found) Is there some sort of 'compatibility' suite that perhaps one of these machines might not have had? If so, then perhaps this is what's happening here.

Mike Fitzpatrick wrote on Feb 09, 2012

The 'not a dynamic executable' probably means you haven't got a 32-bit dynamic library loader installed. On Ubuntu this should be something like /lib/ld-linux.so.2 that is supplied with the 'libc6-i386' package.

A truly static version of XGterm can be had from

http://iraf.net/ftp/pub/xgterm.LNUX.STATIC
http://iraf.net/ftp/pub/ximtool.LNUX.STATIC

Jim Lewis wrote on Feb 09, 2012

Thanks very much for the heads up on the dynamic loader issue. It turns out there is a while suite of 32bit dynamic libraries (ia32-libs) for ubuntu. Just did a quick install and all works properly now! cheers, Jim

Last post on Feb 09, 2012