32-bit IDL not working on 64-bit Linux system
NOTE: Starting with IDL 8.3, 32 bit IDL is no longer supported on Linux.
Discussion
If you are using a 64-bit Linux system, you might find that -32 argument does not work when you try to start 32-bit IDL. For example:
$ idl -32
/usr/local/exelis/idl82/bin/idl: 452: exec:
/usr/local/exelis/idl82/bin/bin.linux.x86/idl: not found
Most of the new distributions of Linux do not come with many of the 32-bit libraries. Thus, the system will not recognize the 32-bit IDL binary.
To get 32-bit IDL to work, you need install the 32-bit libraries that are missing from the system. The libraries that you need to install and how you go about installing them might vary depending on which Linux distribution you are using. You may be able to find the missing dependencies using a program like ldd. If you need assistance please contact Tech Support (support@exelis.com ).
Examples
A couple example cases are discussed below. The libraries that need to be installed may be different on individual systems.
CentOS 6.1
To get 32-bit IDL working on the CentOS 6.1, the following packages may need to be installed:
libXp.so.6
libgcc_s.so.1
libXpm.so.4
libXmu.so.6
libz.so.1
The YUM package manager was used to install these dependencies. An example is shown below (first become the root using by issuing the "su" command) :
su
yum install libXp.so.6
yum install libgcc_s.so.1
yum install libXpm.so.4
yum install libXmu.so.6
yum install libz.so.1
Ubuntu
If you are using Ubuntu, the following libraries may need to be installed to get 32-bit IDL to work:
lib32stdc++6
ia32-libs
To install them, you can use the "apt-get" command. For example:
sudo apt-get install lib32stdc++6 ia32-libs
CentOS 7.0
Below are 32-bit library packages which we found were needed to be installed on a 64-bit CentOS 7.0 system in order to allow 32-bit IDL 8.2.3 ("idl -32" and "idlde -32") to run successfully. In this case, the packages were installed using the "yum install ..." command, for example: sudo yum install freetype.i686
Packages needed for idl -32
freetype.i686
libgcc.i686
libXpm.i686
libXmu.i686
libstdc++.i686
Packages needed for idlde -32
glib2.i686
gdk-pixbuf2.i686
gtk2.i686
libXtst.i686
gnome-themes-standard.i686
gnome-themes.i686
adwaita-gtk2-theme.i686
Additional note:
For newer versions of IDL (8.3 or later) for which 32-bit IDL sessions are not supported, attempting to launch IDL in 32-bit mode will be ignored and IDL will start in 64-bit mode. To determine if you are using a 32-bit IDL session, examine the !VERSION IDL system structure variable. Notice that for a 32-bit Linux session, the !VERSION.ARCH field shows 'x86' and the !VERSION.MEMORY_BITS field shows 32. For a 64-bit IDL session on Linux, these fields would show 'x86_64' and 64, respectively.
IDL> help, !version
** Structure !VERSION, 8 tags, length=76, data length=76:
ARCH STRING 'x86'
OS STRING 'linux'
OS_FAMILY STRING 'unix'
OS_NAME STRING 'linux'
RELEASE STRING '8.2.3'
BUILD_DATE STRING 'May 2 2013'
MEMORY_BITS INT 32
FILE_OFFSET_BITS
INT 64
|
Reviewed by DS 9/17/2014; Updated/reviewed by JU 5/5/2015