[comp.os.vms] How do I link WITHOUT sharable libraries?

edwest@gpu.utcs.toronto.edu (Dr. Edmund West) (02/27/88)

I would like to create an EXE file which does NOT use sharable libraries
like VAXCRTL, LIBRTL, etc. when it executes. Instead I would like the
routines to be linked directly into the original EXE file. The intent is
to produce an EXE file which can be run on other cpus without depending
on that system having the right version of the sharable libraries.

I used to do this all the time on a DEC-10, but the local VMS gurus don't
think it can't be done with VMS. My immediate concern is for a C program,
but the problem could exist with Fortan as well. Thanks.

scjones@sdrc.UUCP (Larry Jones) (03/04/88)

In article <1988Feb27.142802.18581@gpu.utcs.toronto.edu>, edwest@gpu.utcs.toronto.edu (Dr. Edmund West) writes:
> 
> I would like to create an EXE file which does NOT use sharable libraries
> like VAXCRTL, LIBRTL, etc. when it executes. Instead I would like the
> routines to be linked directly into the original EXE file. The intent is
> to produce an EXE file which can be run on other cpus without depending
> on that system having the right version of the sharable libraries.
> 
> I used to do this all the time on a DEC-10, but the local VMS gurus don't
> think it can't be done with VMS. My immediate concern is for a C program,
> but the problem could exist with Fortan as well. Thanks.

Have you considered getting new gurus? :-)

Seriously, it's really quite easy.  The C library is available as an object
library as well as a sharable, so link to that and use the /NOSYSSHR qualifier
to link to the object library for all the system and RTL stuff instead of the
usual sharable.

----
Larry Jones                         UUCP: uunet!sdrc!scjones
SDRC                                MAIL: 2000 Eastman Dr., Milford, OH  45150
                                    AT&T: (513) 576-2070
"When all else fails, read the directions."