Operating System - HP-UX
1833828 Members
2403 Online
110063 Solutions
New Discussion

Re: Invalid version for shared library

 
Sup
Advisor

Invalid version for shared library

We have got a executable which access shared
lib /opt/OV/lib/libnsp.sl. Recently we upgraded
from HP 10.20 to 11. We are getting following errors.

usr/lib/dld.sl: Invalid version for shared library:
/opt/OV/lib/libnsp.sl
/usr/lib/dld.sl: Exec format error

Every thing working when OS was 10.20.
Appreciate any help on this.
7 REPLIES 7
Pete Randall
Outstanding Contributor

Re: Invalid version for shared library

Did you upgrade your OpenView product when you went to 11?


Pete


Pete
Vitek Pepas
Valued Contributor

Re: Invalid version for shared library

Looks like you didn't upgrade OpenView after upgrading OS.
Umapathy S
Honored Contributor

Re: Invalid version for shared library

Adding to Pete, the shared library version is not in tune with the executable. Upgrade OV to 11.

Umapathy

Arise Awake and Stop NOT till the goal is Reached!
ranganath ramachandra
Esteemed Contributor

Re: Invalid version for shared library

you have apparently upgraded the application too, to a 11.X version. i think if you were running the same version of the application you wouldn't run into this. so you have to upgrade either both application and libraries, or neither.
 
--
ranga
hp-ux 11i v3[i work for hpe]

Accept or Kudo

ranganath ramachandra
Esteemed Contributor

Re: Invalid version for shared library

you have apparently upgraded the application too, to a 11.X version. i think if you were running the same version of the application you wouldn't run into this. so you have to upgrade either both application and libraries, or neither.

hope i am not posting this repeatedly again ...
 
--
ranga
hp-ux 11i v3[i work for hpe]

Accept or Kudo

Sup
Advisor

Re: Invalid version for shared library

Yes OV was upgraded with OS. The executable is
build on HP 10.20 and was working fine HP 10.20. We upgraded both OV and HP and we use same executable built on HP 10.20 ( not recompiled on HP 11 ). Is there a command or tool to find out whether given executable is compatible with a shared lib or not?
ranganath ramachandra
Esteemed Contributor

Re: Invalid version for shared library

the bottomline is that you need a version of the library that is compatible with your version of the application. so you'll probably have to contact the respective vendors to get that information.

dld.sl looks at the "highwater mark" of the library loaded at runtime and compares it with what was recorded (at link time) against that library in the list of shared libraries in the executable. if the run-time library is older than the link-time library (i.e. the loaded library lower number for high watermark than that recorded in the executable for that library) then dld.sl decides that this library is too old, fails to load it and terminates the process.

the command
odump -slliblist
shows a list of the shared libraries used in the build, along with their high water marks.

the command
odump -sldlheader
prints the dlheader structure of the shared library, along with the highwater_mark.

see also:
http://h21007.www2.hp.com/dspp/ml/showArchiveMessage/1,,4!03!04!0074,00.html

please note that in the case where your application has multiple level of shared library dependencies, all the things that are applicable for the application above can also apply to shared libraries that in turn depend on other shared libraries. you can list those using
odump -sllibloadlist
and the required highwater_mark's using
odump -slliblist
on the library that has dependencies.

hope thats simple enough ;)
 
--
ranga
hp-ux 11i v3[i work for hpe]

Accept or Kudo