JDK Install fails with install.sfx.#### No such file during installation.
Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I get these results after accepting the license agreement.
Do you agree to the above license terms? [yes or no]
./jdk-1_5_0_09-linux-amd64.bin: line 396: ./install.sfx.6388: No such file or directory
I haven't found anything on the web, the Java bug database, or in Sun's Java forums that has been helpful. I posted this problem in the Sun forum and no help was forthcoming. Everything I've found thus far talks about either
File systems mounted ro, checked that mine are mounted rw.
Not having proper privileges, same results whether I try as a privileged or unprivileged user.
I extracted everything from the *.bin using unzip. But when I try to execute one of the java files (e.g., java, javac, etc.) I get a "No such file or directory" error. The files are there and the executable flags are set. I mounted my Gentoo partition and attempted to execute its java files that I know are working when I'm booted into Gentoo. Same "No such file or directory" error.
I first encountered the error after having installed Xorg and several other packages. I did a complete rebuild of the base CLFS on a new partition and attempted to install JDK before anything else. Same results.
I'm assuming that I've done something wrong in the base build twice now, but I can't see what. During the second build, I ran every test suite and resolved any errors before installing the package. Any help would be appreciated.
Thanks in advance.
Last edited by weibullguy; 12-06-2006 at 11:05 PM.
Try running ldd command on one of the java binaries to see what is missing.
I guess your dynamic linker (/lib64/ld-linux-x86-64.so.2) has somehow ended up in wrong directory. That path is hard-coded in every dynamically linked executable, so getting it wrong breaks all binaries that use the standard one.
Thanks Harmaa Kettu, I didn't even consider a problem with dyanamic linker since nothing else on the system was problematic. By the time you have GNOME installed there are many things that use the dynamic linker. However, everything else on the system was built from source whereas the JDK binaries are, obviously, built by a Sun engineer for our convenience.
The path for the dynamic linker is hard coded, but this does not mean that the path is /lib64. That's why everything built from source worked with ld-linux-x86-64.so.2 in /lib. Which is where it really should be (IAW the FHS) on a pure 64-bit system because there is no need to differentiate between 64-bit and 32-bit files.
Most likely, the engineers at Sun build the 64-bit Java on a multilib system or assume everyone using it will be using a multilib system. This causes the path to be hard-coded to /lib64/ld-linux-x86-64.so.2. Hence, failure if trying to install on a pure 64-bit system. Trying to change this path manually or with a sed before unpacking the *.bin corrupts the *.bin and the install fails.
The solution I went with was to create a /lib64 directory and a symlink in /lib64 named ld-linux-x86-64.so.2 to /lib/ld-2.4.so before attempting to unpack and install the Java binary. Unfortunately, it appears you must keep this link around or the Java binaries won't run because they were compiled on a, most likely, multilib system. Hence, I assume, my "No such file or directory" problem.
Building JDK from source on a pure 64-bit system should hard code the path to /lib. Of course, you need the precompiled Java to unpack the *.jar files containing the JDK source code. AFAIK, Java isn't needed after this. It should be possible to unpack the *.jar files, delete the link in /lib64, and then build JDK from source with ld-linux-x86-64.so.2 in /lib. Maybe I'll give it a try this weekend and report back on the results.
Last edited by weibullguy; 12-01-2006 at 10:01 AM.
Another solution how to be able to run 32bit executables on 64bit Ubuntu is to install package i32-lib. This worked for me. I am now able to run both JDK installer and 32bit JDK executables like java, javac, ....
I use testing version of Feisty, Ubuntu 7.04 on AMD64
Linux 2.6.19-7-generic #2 SMP Mon Dec 4 12:39:22 UTC 2006 x86_64 GNU/Linux
No, that's not a solution. I don't want to run 32 bit binaries on my 64 bit system. If that's what I wanted to do, I would have built a multilib system. I wanted to run the 64 bit java binaries on a pure 64 bit system.
I had a similar issue, several times. I was running jdk-1_5_0_06-linux-i586.bin using . /path/jdk-1_5_0_06-linux-i586.bin from the desired install dir (/usr/java/) when I moved the jdk-1_5_0_06-linux-i586.bin to the install dir, it installed without error.
Thought I'd share my solution as I've been banging my head against the wall with the same error, which is a little misleading considering my solution. I'm completely new to Linux, so please go easy
I tried the 32-bit and 64-bit flavours of the Java JDK for Linux (I'm running an Intel E2200, which is a dual core 64-bit CPU with Ubuntu). I followed Sun's installation instructions for installing the 64-bit self-extracting version.
I tried installing 32-bit and 64-bit libs with "get-apt install ia32-libs" and "get-apt install amd64-libs", respectively but this didn't help.
My solution was to use the command "sudo su" in the terminal before executing the self-extracting zip with "./jdk-6u22-linux-x64.bin". I didn't try this before as I recall Sun saying in the installation instructions "This bundle can be installed by anyone (not only root users), in any location that the user can write to."
@Gadbury: Although your general information might be useful to others, your answer/solution (like the previous post #7) doesn't have anything to do with (C)LFS. Apt-get and sudo are not part of (C)LFS!
Did you read all the replies and especially post #8???
My apologies for the misinformation. I did not realise what CLFS was and that the commands in my example are not available to the OP. I had read the posts (I ended up here Googling for a solution) and to be honest a lot of the replies are difficult for me to understand as I'm completely new to Linux.
I have Ubuntu 11.10 32 bit and i tried to install the actual Sun Java Runtime Environment 32bit, which atctual version is 6u30
I got the following error when trying to extract the binary:
./jre-6u30-linux-i586.bin: 86: ./install.sfx.8648: not found
Failed to extract the files. Please refer to the Troubleshooting section of
the Installation Instructions on the download page for more information.