[mod.computers.vax] VAX C

XSAK@IECMICC.BITNET (Samir Kaleem) (11/24/86)

Hello again everybody...

In view of the tremendous help that I got with fixing the problem with MAIL,
I thought I would put up this problem for all you VAX gurus out there for
VAX C. The problem is as follows...

I installed VAX C, and checked everything was in the proper place. Sure enough,
everything looked fine. However, according to the linking procedure, a file
should exist in SYS$LIBRARY called VAXCRTL.OLB. This file is nowhere to be
found. It isn't mentioned as one of the files to be installed, but only
mentioned in the section that describes Linking. Ofcourse the linker needs
this file to Link any programs. Does anyone know anything about this? I wish
that DEC was a little more clearer in their documentation. Or maybe this is
some file that they forgot to put in the in instalation cartridge.

Also, in the documenatation, they say that if you don't want to DEFINE the
OLBs, then an option file can be created which has SYS$SHARE:VAXCRTL.EXE/SHARE
in it. Again, there is no such file (VAXCRTL.EXE) in SYS$SHARE. Where the
heck do they come up with this nonsense documentation anyway? I think a call
to them is necessary, but it is not in my place to do this. I've informed my
instructor (I'm only a student working on the VAX for an independent study
class), but he seems to be preoccupied elsewhere to do much about this matter.
Oh well, hopefully I'll get some help from you all again.

Thanx in advance.

Samir Kaleem
Bitnet:      xsak@ecncdc
Arpa:        xsak@ecncdc.bitnet@wiscvm.wisc.edu

(Huda Hafiz)

rcb@rti-sel.UUCP (Random) (11/26/86)

In article <8611250928.AA27001@ucbvax.Berkeley.EDU> XSAK@IECMICC.BITNET (Samir Kaleem) writes:
>
>I installed VAX C, and checked everything was in the proper place. Sure enough,
>everything looked fine. However, according to the linking procedure, a file
>should exist in SYS$LIBRARY called VAXCRTL.OLB. This file is nowhere to be
>found. It isn't mentioned as one of the files to be installed, but only
>mentioned in the section that describes Linking. Ofcourse the linker needs
>this file to Link any programs. Does anyone know anything about this? I wish
>that DEC was a little more clearer in their documentation. Or maybe this is
>some file that they forgot to put in the in instalation cartridge.
>
>Also, in the documenatation, they say that if you don't want to DEFINE the
>OLBs, then an option file can be created which has SYS$SHARE:VAXCRTL.EXE/SHARE
>in it. Again, there is no such file (VAXCRTL.EXE) in SYS$SHARE. Where the
>heck do they come up with this nonsense documentation anyway? I think a call
>to them is necessary, but it is not in my place to do this. I've informed my
>instructor (I'm only a student working on the VAX for an independent study
>class), but he seems to be preoccupied elsewhere to do much about this matter.
>Oh well, hopefully I'll get some help from you all again.
>

The documentation is correct. You installation is not. I assume that you
are installing C V2.0 or later. If not, then all bets are off. VAXCRTL.OLB
should have been installed in sys$share if the installation succeeded.
VAXCRTL.EXE is put in SYS$SHARE by VMS installation. It should therefore,
always be there. This applies to VMS V4.2 (i think) and later. You might
want to have someone who is more familiar with installing software to
check this out.

campbell@maynard.UUCP (11/26/86)

In article <8611250928.AA27001@ucbvax.Berkeley.EDU> XSAK@IECMICC.BITNET (Samir Kaleem) writes:

>I installed VAX C, and checked everything was in the proper place. Sure enough,
>everything looked fine. However, according to the linking procedure, a file
>should exist in SYS$LIBRARY called VAXCRTL.OLB. This file is nowhere to be
>found. It isn't mentioned as one of the files to be installed, but only
>mentioned in the section that describes Linking. ...

Some time (about a year?) ago DEC stopped shipping the C RTL with the
C compiler and began shipping it with VMS.  You didn't say what version
of VMS you're running, but I know V4.4 includes the C RTL.  If you're
on a MicroVAX you might have to install one of the software subset
packages (or whatever they're called).
-- 
Larry Campbell       MCI: LCAMPBELL          The Boston Software Works, Inc.
UUCP: {alliant,wjh12}!maynard!campbell      120 Fulton Street, Boston MA 02109
ARPA: campbell%maynard.uucp@harvisr.harvard.edu     (617) 367-6846
DOMAINIZED ADDRESS (for the adventurous): campbell@maynard.BSW.COM

LEICHTER-JERRY@YALE.ARPA (11/27/86)

    ...I installed VAX C, and checked everything was in the proper place. Sure
    enough, everything looked fine. However, according to the linking proce-
    dure, a file should exist in SYS$LIBRARY called VAXCRTL.OLB. This file is
    nowhere to be found....  Also, in the documentation, they say that if you
    don't want to DEFINE the OLBs, then an option file can be created which
    has SYS$SHARE:VAXCRTL.EXE/SHARE in it. Again, there is no such file
    (VAXCRTL.EXE) in SYS$SHARE....
As of VAX C V2.1 and VMS V4.3 or thereabouts, the C run-time library began
shipping with VMS, NOT with VAX C.  (Note that most other languages have been
shipped this way for years - VAX C didn't (couldn't) do this for reasons that
are irrelevent here.)

Full VMS comes with both SYS$LIBRARY:VAXCRTL.OLB and SYS$SHARE:VAXCRTL.EXE.

MicroVMS comes with SYS$SHARE:VAXCRTL.EXE ONLY; the object library isn't in
the kit.

NEITHER file comes with the VAX C kit.

It sounds as if either you are installing a recent version of VAX C on an
old version of VMS, or someone deleted the files from SYS$LIBRARY and
SYS$SHARE, perhaps because "we don't need them, we don't have VAX C anyway."
(False reasoning, BTW - you'll need SYS$SHARE:VAXCRTL.EXE if you ever want
to run a VAX C program that someone else has written and compiled using the
shareable version of the RTL.)

							-- Jerry
-------

carl@CitHex.Caltech.Edu.UUCP (11/27/86)

  >  a file should exist in SYS$LIBRARY called VAXCRTL.OLB. This file is
  >  nowhere to be found. 

If you're using a uVAX, then you don't get to object libraries in the C
distribution.  You don't really need it, since the typical user environment
is better off using the shareable images.

  >  there is no such file (VAXCRTL.EXE) in SYS$SHARE. 

You've apparently misinstalled VAXC.  I've never seen a distribution that
didn't include the option of creating this library (perhaps you declined
the option when it was presented to you by VMSinstal?).

XSAK@IECMICC.BITNET (Samir Kaleem) (11/27/86)

Okay...I've found the problem, and it has been fixed. Seems that an options_file
has to be created and then when linking, you have to specify the options_file
along with it. VAX C is now working fine. Sorry for bothering you with the
problem, and thanx for any help.

Samir Kaleem

Bitnet: xsak@ecncdc
Arpa:   xsak%ecncdc.bitnet@wiscvm.wisc.edu