Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello All, I have a software that installs with a 32 bit installation script. My problem seems to be that the script is unable to find a 32 bit JRE. Although it is installed and the path variables appear to be set the system does not see the location.
I am hypothesizing that the potentially the 32 bit libraries or binaries did not get installed as I am quite certain the OS installations were all default installs. Is there a way to verify that the OS does have the 32 bit binaries or libraries necessary for the 32 bit install script to run? Where might they exist and what common names might they have if any?
Is there a way to verify that the OS does have the 32 bit binaries or libraries necessary for the 32 bit install script to run? Where might they exist and what common names might they have if any?
Start by telling us what Linux distribution you have. Also what package manager do you know how to use?
The answer to your question is simple, but it depends on distribution, especially on whether it is a Redhat based distribution such as Fedora vs. a Debian based distribution such as Ubuntu.
This is running on a virtual machine, however I do not believe that has any effect on the issue. I was also getting the same issues on Ubuntu 10 x64, and SUSE Linux Enterprise Server 11 x64.
Pretty green on the terminology as it might apply to Linux. What pkg manager might I recognize, I probably have not specifically or knowingly used one.
In Redhat based distributions (including SUSE), your native libraries are in various lib64 directories and your 32 bit compatibility libraries are in various lib directories.
In Debian based distributions (including Ubuntu), your native libraries are in various lib directories and your 32 bit compatibility libraries are in various lib32 directories.
Those directories include
/lib
/usr/lib
etc.
In each place replacing the "lib" part with "lib32" or "lib64" as appropriate.
On Red hat based distribution, the package manger I prefer is Yum.
the 32 bit binaries or libraries necessary for the 32 bit install script to run?
For an ordinary executable, you can get the list of .so files it needs using the ldd command. Then you can use the yum provides command to find out what package includes each missing .so file.
But an install script might be more complicated to diagnose. You may need to look into the details of what is going wrong in order to determine which missing .so file cause the failure.
At this point I am most interested in the 32 libraries needed for installation and recognition of 32 bit java, if that makes sense. Although I have a 32 bit java installed (jre1.6.0_31) when I go to that installed directory /usr/java/jre1.6.0_31/bin and type java -version it is displaying the inherant 1.4.2 java installed with the OS which is not compatible with my install script.
I have tried setting the JAVA_HOME variable and path as an environment variable as well with no success recognizing the designated java.
when I go to that installed directory /usr/java/jre1.6.0_31/bin and type java -version it is displaying the inherant 1.4.2 java installed with the OS
For that experiment, you should have typed
Code:
./java -version
Without the ./ you are getting the default java regardless of your current directory.
Quote:
which is not compatible with my install script.
Once you verify that the java you want to use is able to run at all, I'm not sure how you make that install script use the desired java instead of the default java.
Changing PATH before running the script is one plausible method to get the desired java.
Thanks for the clarification. the ./java -version does bring in the correct version of java.
I have had several suggestions, but I believe at this point I have tried to have the JAVA_HOME set to the /usr/java/jre1.6.0_31 folder and tried as well going to the bin folder as well Then exported the variable and did the same with PATH and then exporting the PATH as well.
I tried this in both the profile and the bashrc. Since I see the path redundantly when I do echo $PATH I guess I should only have it one of those files, but don't believe it will cause an issue (by the way this is pretty much a non critical machine that can be played with for QA purposes).
Yet in spite of the correct path showing for the JAVA_HOME and the $PATH showing a valid path. When I type which java it is showing a path of /usr/bin/java instead of the desired /usr/java/jre1.6.0_31.
I have also tried using the -is switch by doing the ./osasinstal.sh -is:javahome /usr/java/jre1.6.0_31 and still getting the ero message which tells me the command cannot find a suitable JRE.
so I am still looking at trying to understandand research how the system might be looking for the correct java and what I might be missing.
Please post the contents of PATH. Remember, the directories in PATH are in order. The first directory in the list is searched first, the last directory in the list is searched last. As soon as it finds the program it's looking for, it stops looking. So if you added your /usr/java/jre directory AFTER the /usr/bin directory, it will always find /usr/bin/java first, as it has no reason to keep looking.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.