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
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
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.
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
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