1745868 Members
4348 Online
108723 Solutions
New Discussion юеВ

can't load dld.sl

 
SOLVED
Go to solution
sridhar_423
Occasional Advisor

can't load dld.sl

Hello Experts,

We are running Siebel application on HP-UX PA_RISC os. For Java integration from Siebel, we need to access libjvm.sl. But everytime, I'm getting the error "Unable to Load JVM Dll".

When I traced the process using tusc, then I found out that it is not able to load dld.sl
Please find below an excerpt from the tusc output
[11583]{3838761} close(82) ............................................................................ [entry]
[11583]{3838761} close(82) ............................................................................ = 0
[11583]{3838761} write(2, 0x77fe9004, 15) ............................................................. [entry]
[11583]{3838761} write(2, "/ u s r / l i b / d l d . s l ", 15) ....................................... = 15
[11583]{3838761} write(2, 0xc0014de8, 2) .............................................................. [entry]
[11583]{3838761} write(2, ": ", 2) .................................................................. = 2
[11583]{3838761} write(2, 0xc0014848, 60) ............................................................. [entry]
[11583]{3838761} write(2, "C a n ' t s h l _ l o a d ( ) ".., 60) ................................... = 60
[11583]{3838761} write(2, 0x75b40b90, 48) ............................................................. [entry]
[11583]{3838761} write(2, "/ o p t / j a v a 1 . 3 / j r e ".., 48) ................................... = 48
[11583]{3838761} write(2, 0xc0013d70, 1) .............................................................. [entry]
[11583]{3838761} write(2, "\n", 1) .................................................................... = 1
[11583]{3838761} write(2, 0x77fe9004, 15) ............................................................. [entry]
[11583]{3838761} write(2, "/ u s r / l i b / d l d . s l ", 15) ....................................... = 15
[11583]{3838761} write(2, 0xc0014de8, 2) .............................................................. [entry]
[11583]{3838761} write(2, ": ", 2) .................................................................. = 2
[11583]{3838761} write(2, 0xc00135f0, 17) ............................................................. [entry]
[11583]{3838761} write(2, "E x e c f o r m a t e r r o ".., 17) ................................... = 17

could you please let me know what I need to do to resolve this issue.

Thanks,
Sridhar
16 REPLIES 16
Steven E. Protter
Exalted Contributor

Re: can't load dld.sl

Shalom,

find /usr -name dld.sl

/usr/lib/dld.sl
/usr/lib/pa20_64/dld.sl
/usr/lib/aCC/dld.sl

Three places it should be.

Make sure:
1) The file exists.
2) The file is on SHLIB_PATH when program is started or compiled.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
sridhar_423
Occasional Advisor

Re: can't load dld.sl

Hi Steven,

Thanks for the immediate response.

dld.sl file is present in /usr/lib and SHLIB_PATH variable has this path set before the application is started.
SHLIB_PATH=/usr/lib:/gsmcrmgc03/siebelnew/siebsrvr/lib:/opt/java1.3/jre:/opt/java1.3/jre/bin:/opt/java1.3/jre/lib/PA_RISC2.0/server:/opt/java1.3/jre/lib/PA_RISC2.0

After searching this forum, I have tried setting LD_PRELOAD variable also (SHLIB_PATH still has /usr/lib)
LD_PRELOAD=/usr/lib/dld.sl; export LD_PRELOAD;

Kindly let me know if there is anything else that I have missed out.

Thanks,
Sridhar
Steven Schweda
Honored Contributor

Re: can't load dld.sl

Are you having problems loading "dld.sl", or
is "dld.sl" having problems loading
"/opt/java1.3/jre"? I know nothing, but it
looks to me like the latter.
James R. Ferguson
Acclaimed Contributor

Re: can't load dld.sl

Hi Sridhar:

I agree with Steven S. It appears that the erorr is in trying to load '/opt/java1.3/jre'. In fact, it looks like an "exec format error".

Do you have '/opt/java1.3/jre' and if so, what does a 'file /opt/java1.d/jre' return?

If you were lacking 'dld/sl' you would have far more serious problems than you do :-)

Regards!

...JRF...
sridhar_423
Occasional Advisor

Re: can't load dld.sl

Hi Steven,

The sad thing is I also don't know. How can i find it out whether this is a problem in loading dld.sl or dld.sl having problem in loading libjvm.sl

I have attached the tusc output. In that I have seen libjvm.sl has been read successfully. I'm not sure about the sequence and the role of dld.sl here. The process seems to have failed when dld.sl came into picture. Btw Siebel is a 32-bit application. So, its referring to the correct dld.sl (/usr/bin/dld/sl)

Could you please provide me the pointer on how to check the problem.

Thanks,
Sridhar
sridhar_423
Occasional Advisor

Re: can't load dld.sl

Hi James/ Steven

Thanks for the response.

The aim is to access libjvm.sl which is present in /opt/java1.3/jre/lib/PA_RISC2.0/server/libjvm.sl

I need to access this file to run Java programs from within Siebel application.

If you look at the entire look, the process is trying to read one by one starting from opt as a file. Finally, it is successful reading libjvm.sl when it comes to that point. Kindly take a look at the log that I hav attached.

dld.sl is present on our server at the following locations.
/usr/lib/dld.sl
/usr/lib/pa20_64/dld.sl
/usr/lib/aCC/dld.sl

Thanks,
Sridhar
Dennis Handly
Acclaimed Contributor

Re: can't load dld.sl

>I found out that it is not able to load dld.sl

This is incorrect. This message is the standard UNIX convention of:
command-that-detected-the-error: message ...

So it is an error message detected by dld.sl.
Also the messages have been truncated, so you need to cut&paste from stderr.

>let me know if there is anything else that I have missed out.

The error in question is: Exec format error ...
Was there more to the messages on stderr?

>How can I find it out whether this is a problem in loading dld.sl or dld.sl having problem in loading libjvm.sl

It is obvious. Or you can look at the tusc output. Error messages for loading dld.sl would mention crt0:
crt0: ERROR couldn't open /usr/lib/dld.sl errno:0000000##
http://forums.itrc.hp.com/service/forums/questionanswer.do?threadId=1069280

>The aim is to access libjvm.sl which is present in /opt/java1.3/jre/lib/PA_RISC2.0/server/libjvm.sl

Ah, details. You can't without relinking. The bill of materials changed between 1.3 and 1.4 and you will get this "Exec format error, invalid shlib version" error message.
sridhar_423
Occasional Advisor

Re: can't load dld.sl

Hi Denis,

Thanks a lot for your reply. I have been trying alternate ways of setting LD_PRELOAD till this time without any luck.

You mentioned about relinking. I'm trying to execute Java programs from within Siebel & siebctl is the actual binary file that is used to start/ stop the Server.

I dont have option to set LD_PRELOAD to libjvm.sl at the time of starting the application.

As you've said, I need to relink libjvm.sl. But I dont have any idea of how to relink libjvm.sl and to what it should be linked to.
Can you please provide some information on how to relink libjvm.sl?

Many thanks for the information.

Thanks & Regards,
Sridhar
Dennis Handly
Acclaimed Contributor

Re: can't load dld.sl

>Can you please provide some information on how to relink libjvm.sl?

You have to relink siebctl. Or use the old version of java.
What does "chatr siebctl" show?