HP OpenVMS Systemsask the wizard | 
	
 The Question is: I am trying to compile a program using TCPIP 5.0a and VAX C. (Compaq C will not compile the program, even in VAX C compatibility mode.) I am getting undefined symbol errors on all of the TCPIP socket routines (connect, gethostbyname, socket,etc). The TCPIP examples in TCPIP$EXAMPLES reference a library call SYS$LIBRARY:TCPIP$IPC.OLB. This library does not exist on my system. (The older UCX 4.2 does have a UCX$IPC.OLB, but TCPIP 5.0a does not.) Here is the options file I am using for linking.: tcpip$library:tcpip$lib.olb/lib (included just because I could not find TCPIP$IPC.OLB) sys$share:tcpip$ipc_shr.exe/share sys$share:vaxcrtl.exe/share I have searched through manuals, newsgroups, FAQs, etc. to no avail. It seems to me that support of VAX C was dropped with TCPIP 5.0a. Is this true? Mark The Answer is : 
 
  Support for the VAX C compiler ended many years ago; the most recent
  version of the VAX C compiler (V3.2) was released back in early 1991.
  The VAX C compiler was not included in any Y2K investigations, nor has
  it been tested on any recent OpenVMS VAX releases -- the last OpenVMS
  VAX release where the VAX C compiler was typically expected to be in
  common use was circa OpenVMS VAX V5.5-2.
 
  The references to the object libraries in the comments of those
  TCP/IP programming examples clearly refers to their use in conjunction
  with VAX C, and the text further appears to be an erroneous (direct)
  translation of the older VAX C and UCX programming environments.
  (The OpenVMS Wizard has passed this problem report along to the
  TCP/IP Engineering team.)
 
  The OpenVMS Wizard encourages the use of the provided shareable
  images, and the use of the Compaq C build directions in the comments.
 
  The unspecified undefined symbol errors -- please remember to provide
  the full and unedited text of the error message(s) reported -- will
  typically result from a failure to include the necessary header files
  for the routine(s) in use during the source compilation, or (when a
  similar set of errors arises during the LINK operation), from a failure
  to use the appropriate /PREFIX setting on the source compilation.
 
  Information on the use of /PREFIX is included in the OpenVMS FAQ.
 
  An example of a build of one of the TCP/IP Services modules -- as the
  following module expressly and deliberately contains an ioctl routine,
  the function is explicitly excluded from the symbol prefixing that is
  normally performed:
 
    $ cc TCPIP$IOCTL_ROUTINE.C/prefix=except=ioctl
    $ link TCPIP$IOCTL_ROUTINE
    $ cc/vers
    Compaq C V6.2-006 on OpenVMS Alpha V7.2-1
    $
 
  And please note that an ioctl call exists in the current C libraries.
 
 
 
  |