[mod.computers.vax] VAX C .OLB Files missing in MicroVMS 4.4

mike@NGP.UTEXAS.EDU (wes birdwell) (07/08/86)

Recently I installed MicroVMS 4.4 and VAX C 2.2 on our MicroVAX II.
I retained the definitions for LNK$LIBRARY and LNK$LIBRARY_1, etc, so
that the linker could find any unresolved function references in the
VAX C object libraries.  According to the installation guide for VAX C
these object libraries are new shipped with VMS, not VAX C.  However
the object libraries weren't on my system after the 4.4 installation.
I then searched all of the save sets on the release tape and they weren't
there either.  Then I called DEC and inquired about this and they didn't
really commit and say that the files were supposed to be there, only 
that we could link our programs with the shareable images.  I am familiar
with the advantages of doing this but what, if any, are the tradeoffs?
Is there any reason that I absolutely need these object libraries?
Has anyone else had a similar response from DEC?  Any any information
will be much appreciated.

Mike O'Donnell @ LCRA

egisin%watmath.waterloo.edu@CSNET-RELAY.ARPA (Eric Gisin) (07/09/86)

> Recently I installed MicroVMS 4.4 and VAX C 2.2 on our MicroVAX II.
> I retained the definitions for LNK$LIBRARY and LNK$LIBRARY_1, etc, so
> that the linker could find any unresolved function references in the
> VAX C object libraries.  According to the installation guide for VAX C
> these object libraries are new shipped with VMS, not VAX C.  However
> Mike O'Donnell @ LCRA

The LNK$LIBRARY names refer to object libraries (.OLB files).
What is distributed with VMS are the sharable image librarys,
SYS$LIBRARY:VAXCRTL.EXE and VAXCRTLG.EXE.  I don't know what you get with micro VMS,
but I think the C installation can build the sharable images from the object libraries.

You can link with either the C object libraries or a C sharable image library.
The latter results in much faster LINKing and smaller image files
(by about 60 blocks). A typical link with the sharable library follows:
$ Link test,sys$input:/opt
sys$library:vaxcrtl/share

Does anyone know of any reason to use the C object libraries over
the C sharable library? The C installation says you don't need the
sharable libraries and can therefor save space, but on the other
hand you can delete the object libraries and save just as much space.
(I'm not recommending that anyone actually delete sys$library:vaxc*.olb).

	Eric Gisin, egisin@waterloo.{csnet|edu}

robinson@ecsvax.UUCP.UUCP (07/14/86)

I find that with a small program at least, that the time to run the image is
less when it is linked with the object library rather than the shareable 
run-time library.  There probably is some trade-off with number of users 
running the same code but I couldn't say where that limit is.