Ubuntu – ‘Permission denied’ while installing 32-bit Java (JDK/JRE) on 64-bit Ubuntu

javaserver

I use Ubuntu 10.10 server as test server for a Java program.

Linux sugam 2.6.35-22-server #35-Ubuntu SMP Sat Oct 16 22:02:33 UTC 2010 x86_64 

GNU/Linux Ubuntu 10.10

Since it is a test server and we like to see our application to work in both, 64-bit and 32-bit Java, I like to have OpenJDK (32-bit and 64-bit) and Java SE (32-bit and 64-bit), (total 4 instances) installed on the server.

I could install 64-bit easily and have the following Java versions:

$/app/java64bit/jre1.6.0_23/bin/java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)

$ /usr/lib/jvm/java-6-openjdk/jre/bin/java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.2) (6b20-1.9.2-0ubuntu2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

But I am unable to install 32-bit Java on this 64-bit machine.
I have correct binaries (cksum and md5sum validated).

On unpacking I get the following error for 32-bit version:

$ ./jre-6u23-linux-i586.bin 
Unpacking...
./jre-6u23-linux-i586.bin: 56: cannot create install.sfx.12308: Permission denied
Checksumming...
/usr/bin/sum: install.sfx.12308: No such file or directory
[: 83: -ne: unexpected operator
[: 83: -ne: unexpected operator
chmod: cannot access `install.sfx.12308': No such file or directory
Extracting...
./jre-6u23-linux-i586.bin: 86: ./install.sfx.12308: not found
Failed to extract the files.  Please refer to the Troubleshooting section of
the Installation Instructions on the download page for more information.

Is there a way to install 32-bit Java on a 64-bit server?
Any help appreciated.

Best Answer

The error given suggests that you are trying to run the binary to somewhere that you don't have permissions. I'm fairly certain that you have to run it as root, so sudo ./jre-6u23-linux-i586.bin should get rid of that error.

Also make sure that you have ia32-lib installed, otherwise you shouldn't be able to run 32-bit applications.