identifying 32 bit libraries on a 64 bit linux
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? |
Quote:
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. |
Red Hat Enterprise 5 64 bit
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.
|
Not at all sure on pkg manager
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. |
Quote:
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. |
Quote:
Code:
./java -version Quote:
Changing PATH before running the script is one plausible method to get the desired java. |
Red Hat Enterprise 5 64 bit
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. |
What exactly have you done to PATH?
After doing that to PATH, what do you get if you type which java |
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.
|
All times are GMT -5. The time now is 04:55 AM. |