[Info-vax] Linker question

Bob Gezelter gezelter at rlgsc.com
Fri Aug 27 12:10:25 EDT 2010


On Aug 27, 8:43 am, "Syltrem" <syltremz... at videotron.ca> wrote:
> Hello !
>
> I usually compile and link programs on my development server and distribute
> over to the other systems which are not in our cluster.
> One of these nodes is currently at VMS 7.3 while our dev server (and all
> others) is at 8.3.
>
> I have a problem with just 1 program calling the SOR$ routines. When linked
> on my dev server it gives a "shareable image mismatch" error with
> SORTSHR.EXE  if I execute it on the 7.3 server. So I have to link this one
> program on the target system.
>
> Question:
> Can I copy SORTSHR.EXE from the target system onto mine, someplace
> convenient, and then instruct the linker to link against this version of
> SORTSHR.EXE instead of the one "live" on my dev server ?
> I just don't know how to tell the linker to do this, but I bet it can be
> done.
>
> I know I probably could copy my own 8.3 SORTSHR.EXE to the 7.3 server and be
> done about it, but I can't take any risks changing things at this other
> site. Even if there are no risks, I guess... I'd rather not touch anything
> on their server.
>
> Thanks !
> Syltrem

Syltrem,

I am not in a location where I can verify this, but I can give you the
general answer, which you can then verify.

Generally, images are linked using the GSMATCH options set to enable
upward compatibility. Thus, if you are going to support earlier
versions of OpenVMS (or other foundational components on OpenVMS), you
link against the oldest supportable versions of the shareable
libraries. Upward compatibility then comes in for free.

In some cases, I have created "shadow" libraries, which are nothing
but dummy transfer vectors, to facilitate linking without having to
actually keep all of the actual libraries around. I covered much of
this material in "OpenVMS Shareable Libraries: An Implementor's
Guide", a presentation at the 2000 Compaq Enterprise Technology
Symposium.  The slides are available at: http://www.rlgsc.com/cets/2000/460.html

In summary, the fastest way to do this is to get a copy of the older
shareable library and link against it. Upward compatibility will then
come in for free.

- Bob Gezelter, http://www.rlgsc.com



More information about the Info-vax mailing list