[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 702
  • Last Modified:

java, whence AND ksh

Hi

I installed the jre1.2jfc yesterday but can not get it working.
It is Solaris 2.5
The error messsage look like this

Error: can't find libjava.so.

the .java-wrapper file looks like this in the beginning

#!/bin/ksh -p

PRG=`whence $0` >/dev/null 2>&1

but if I echo out $0 ( echo "0 = ${0}" ) it look like this

0 = /bin/ksh

The $0 is "messaed up", it is set to "/bin/ksh" instead of
"/opt/tmos/bom/java/jre1.2fcs/bin/java"

$0 shoulbd be set to this value becouse I try to start the JVM
like this
/opt/tmos/bom/java/jre1.2fcs/bin/java myProgram $*

Some ideas why $0 is messed up ?

0
kung
Asked:
kung
  • 3
  • 2
1 Solution
 
seedyCommented:
First verify if the file 'libjava.so' is present. You can do this by
   find / - name 'libjava.so' -print
And if it is present, make sure that the location of this file is added to the environment variable LD_LIBRARY_PATH.  If not, add by
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<location of libjava.so>

and try your java program
0
 
kungAuthor Commented:
The error message

"Error: can't find libjava.so. "

Is a consequens from that the $0 is messed up. The problem is
that .java-wrapper line
PRG=`whence $0` >/dev/null 2>&1

will result in that PRG = "/bin/ksh" instead of
"/opt/tmos/bom/java/jre1.2fcs/bin/java"


Regards




0
 
ahoffmannCommented:
you called it with a blank between  .  and java_wrapper, like

   prompt#  .   java_wrapper

If your file is named java_wrapper, call it as follows:

    prompt#  java_wrapper
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
seedyCommented:
First a confession.  I do not have any experience with Java let alone "jre1.2jfc" on Solaris 2.5.

>Error: can't find libjava.so
From the above error it is evident that some executable cannot find the shared object/library 'libjava.so'.  Most likely it is "/opt/tmos/bom/java/jre1.2fcs/bin/java".  Under Solaris, the environment variable LD_LIBRARY_PATH indicates the list of directories where the shared objects can be found.

Now the fix would be to:
1. verify that you indeed have the shared library 'libjava.so' on your machine; if it is not present, you need to *get* it.
2. and if the file is present, make sure that the location (the directory where this file is present) is added to the list of directories pointed by LD_LIBRARY_PATH

IMhO, there is nothing wrong with your .java-wrapper or the $0!

You are actually executing '/opt/tmos/bom/java/jre1.2fcs/bin/java' when you do
/opt/tmos/bom/java/jre1.2fcs/bin/java myProgram $* .
So when does the .java-wrapper get executed or read and by whom?
0
 
kungAuthor Commented:
Hi

Thanks for Your answear

>>Error: can't find libjava.so
>From the above error it is evident that some executable cannot fin

Again, this error message is a result from the fact that the
$0 is messed up becouse .java_wrapper do things like this
in the beginning

PRG=`whence $0` >/dev/null 2>&1
progname=`/usr/bin/basename $0`


these , PRG and progname, is later used to find lib files


/opt/tmos/bom/java/jre1.2fcs/bin/java is just a link to
/opt/tmos/bom/java/jre1.2fcs/bin/.java_wrapper

I have solved it.

The reason why the .java_wrapper $0 was messed up was becouse
the s bit was set like this
-rwxrws---   1 tmosadm  tmos         267 Nov 11 15:49 .java_wrapper

This resultet in the funny behaviour, if the s bit is removed
this will result in a correct $0

Regards

0
 
seedyCommented:
kung, Can you post the entire content or ".java-wrapper" here, please.
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now