Running a 32 bit ASE executable with a 64 bit chip

From SybaseWiki
Jump to: navigation, search

This page has become more or less obsolete since you can now download ASE 15.0.2 for Linux x86 in both 32 and 64 bit versions here http://www.sybase.com/linuxpromo


If you still need to run an 32 bit executable on 64 bit chip (for instance AMD64), just follow these guidelines.

When you install ASE with "./setup -console" you might get this message:

InstallShield Wizard

Initializing InstallShield Wizard...

Searching for Java(tm) Virtual Machine...
..................A suitable JVM could not be found. Please run the program again using the option -is:javahome <JAVA HOME DIR>

To work around this you need to put ld-linux.so.2 in /lib.

Retrieve it from some internet resource, or for the 2.6.16 kernel get it here: http://www.petersap.nl/documents/ld-linux.so.2 (Ubuntu)

You also need these 32 bit libraries too:

libaio.so.1
libaudit.so.0
libc.so.6
libdl.so.2
libgcc_s.so.1
libm.so.6
libnsl.so.1
libnss_dns.so.2
libnss_files.so.2
libpam.so.0
libpthread.so.0
libresolv.so.2
librt.so.1
libstdc++.so.5

Please note that the usage of libaio.so.1 is only required after ASE 15.0.2

To retrieve all these files just build a Linux server on that old 32 bit box, download and install all the required libraries, and then copy them over to the 64 bit server. Best approach is to put all these files in a separate directory and just add this directory to LD_LIBRARY_PATH.

To see which libraries an executable needs you can use the ldd command. Example:

ldd dataserver