[root@spin-1 opt]# sh ./jdk-6u22-linux-i586.bin Unpacking... Checksumming... Extracting... ./jdk-6u22-linux-i586.bin: ./install.sfx.20270: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Fine, let's try the self extracting rpm version:
[root@spin-1 opt]# sh ./jdk-6u22-linux-i586-rpm.bin Unpacking... Checksumming... Extracting... ./jdk-6u22-linux-i586-rpm.bin: ./install.sfx.20566: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory Installing JavaDB error: open of sun-javadb-common-10.5.3-0.2.i386.rpm failed: No such file or directory error: open of sun-javadb-core-10.5.3-0.2.i386.rpm failed: No such file or directory error: open of sun-javadb-client-10.5.3-0.2.i386.rpm failed: No such file or directory error: open of sun-javadb-demo-10.5.3-0.2.i386.rpm failed: No such file or directory error: open of sun-javadb-docs-10.5.3-0.2.i386.rpm failed: No such file or directory error: open of sun-javadb-javadoc-10.5.3-0.2.i386.rpm failed: No such file or directory Done.
After much googling, I kept coming back to this one forum post. In the middle of it, there is the following information from a poster:
"The library you are missing is comes from the 32bit version of the glibc. You can try installing the i386 version of glibc using yum. That would install /lib/ld-linux.so.2 for you."
Great, so let's try installing the glibc ... (some of you may be seeing where this is going, but sadly I did not yet).
[root@spin-1 opt]# yum install glibc*
Alright, so now that's installed, I tried installing java again...to no avail. Scrolling back up the console to at the yum output from installing the glibc* I see:
=============================================================================
Package Arch Version Repository Size =============================================================================
Installing: gcc x86_64 4.5.1-4.fc14 fedora 14 M Installing for dependencies: cloog-ppl x86_64 0.15.7-2.fc14 fedora 93 k cpp x86_64 4.5.1-4.fc14 fedora 4.0 M glibc-devel x86_64 2.13-1 updates 968 k glibc-headers x86_64 2.13-1 updates 599 k kernel-headers x86_64 2.6.35.11-83.fc14 updates 742 k libmpc x86_64 0.8.1-1.fc13 fedora 44 k mpfr x86_64 2.4.2-1.fc13 fedora 158 k ppl x86_64 0.10.2-10.fc12 fedora 1.1 M Transaction Summary =============================================================================Now wait just a hot minute, why is it installing the x86_64 and not the i386 32bit ones....^Insert light bulb.
That's right folks, the virtual machine is 64 bit and I was trying to install a 32bit version of Java. Some time between when I last tried this particular exercise out on the vendor and now, the vendor moved from 32bit OS's to 64bit OS's. To verify:
[root@spin-1 opt]# uname -m x86_64
Well would you look at that, my vm's architecture is x86_64. :: sigh :: downloading the 64 bit version of Java JDK resolved the issues.
For completeness of this post, some links to get started with Sun JDK Java and Tomcat 6 on Fedora 14, in order of things to do.
- Configuring yum repositories on fedora
- On the remote machine, as root user, do the following:
yum --nogpgcheck install http://rpm.livna.org/livna-release.rpm http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
- On the remote machine, as root user, do the following:
yum update
- Download the 64 bit version of Java JDK desired onto local machine and then scp the file to the /opt directory of the remote machine
- On the remote machine, possibly need to be remote user, do the following:
[root@spin-1 opt]# sh ./opt/jdk-6u22-linux-x64.bin
*EDIT* - Add the following environment variables (not included as part of the directions in 6, may not be 100% necessary, but I did this and everything work) to the end of ~/.bashrc:
export JAVA_HOME=/opt/jdk1.6.0_22 export JRE_HOME=${JAVA_HOME}/jre export PATH=${JAVA_HOME}/bin:${PATH} export CLASSPATH=${JAVA_HOME}/jre/lib:${CLASSPATH}
This is what my ~/.bashrc looks like:# .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi export JAVA_HOME=/opt/jdk1.6.0_22 export JRE_HOME=${JAVA_HOME}/jre export PATH=${JAVA_HOME}/bin:${PATH} export CLASSPATH=${JAVA_HOME}/jre/lib:${CLASSPATH}
Save the file and from the command prompt, source the file:
[root@newImage ~]# source ~/.bashrc
Now do an echo to make sure the environment variable exists and points to the correct location:
[root@newImage ~]# echo $JAVA_HOME /opt/jdk1.6.0_22
You should see the location your jdk is installed, my jdk is installed in /opt/.
N.B.For the testing that we're doing here at work, we're always either logged in as root or tomcat is logged in as tomcat. I'm not familiar enough with environment variables and bash scripts to know where they need to be or what needs to be done to ensure the variable persists through all users.
- Follow the directions found here for setting up the alternatives in Fedora to point to the correct java distro
- Install tomcat:
yum install tomcat6*.*
(realized I also did the following and it is not included in the link at step 6, not entirely sure of the necessity, but I did this anyways just to make sure and everything is working)
No comments:
Post a Comment