Porting Hints and Tips

Updated 2021-03-20, by Martin Borgman

This is a list with some general hints and tips for porting UNIX (linux) tools to OpenVMS Alpha version 7.3-1 and up, using the most resent version of the GNV tools and the HP C and C++ compiler suite.

  1. Become a member of the gnv-develop mailing list (see http://gnv.sourceforge.net). Some HP developers are active members of this list.
  2. Before starting a UNIX configure script raise your pipe buffer size by defining DECC$PIPE_BUFFER_SIZE with a higher value (the OpenVMS default is 512 and the current bash default is 8192). Some people reported good results with 32K while porting tools like flex and bison.
  3. Start the configure script with at least the following parameters: -build=alpha-hp-vms -host=alpha-hp-vms.
  4. Use the CRTL feature switches to change the behavior of several CRTL functions to a more standard UNIX kind of behavior (see CRTL documentation and GNU:[src.GNV.CRTLSUP.SRC]VMS_CRTL_INIT.C).
  5. Compile GNU:[src.GNV.CRTLSUP.SRC]VMS_CRTL_INIT.C or make and compile your own version and simply link with your program. This way the CRTL feature switches will not mess up the program and DECC$ARGV_PARSE_STYLE will be set before the arguments are parsed.
  6. The HP C and C++ compilers don't use system header files but system header file library. This library (DECC$RTLDEF.TLB) is located in the SYS$LIBRARY directory. If you want to look into one of the system header files you will need to extract it from the library. On some systems a copy of the system header files can be found in the SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF] directory. Be aware that these files may not be of the same version as the ones in the SYS$LIBRARY:DECC$RTLDEF.TLB library!

If you have some more tips you would like to share, please mail to the address below.

Maintained by the OpenOffice on OpenVMS porting Project.