SOFT1.

Where can I find freeware/shareware software for OpenVMS?

Details on many commercial OpenVMS products are available in the catalog located at:
  http://www.partner.compaq.com/www-catalog/

An OpenVMS Freeware CD is distributed with OpenVMS, and is also available seperately (QA-6KZAA-H8). The contents of the OpenVMS Freeware CD are also available online at: and at various other sites. The website also includes various updates and new packages that become available after the CD-ROM distributions are created.

Submissions to the OpenVMS Freeware can be made via:

        http://www.openvms.compaq.com/openvms/freeware/
To acquire the OpenVMS Freeware CD-ROM distribution, you can order an OpenVMS distribution from Compaq (the Freeware is included)(see the OpenVMS SPD for part numbers), or you can specifically order a Freeware distribution from Compaq under part number:
  QA-6KZAA-H8
The Freeware CD-ROM set contains a large assortment of freeware, and is a good starting point if looking for utilities. Many of the packages listed below are also on the Freeware CD. Some of the most oft-requested OpenVMS tools on the Freeware CD include ZIP and UNZIP, GZIP, MMK (make), PINE, PERL, TAR, UUENCODE and UUDECODE. Many other tools are available on the Freeware.

The UUENCODE and UUDECODE tools and various other tools are also available as part of TCP/IP Services package. (Use the DCL command procedure SYS$STARTUP:TCPIP$DEFINE_COMMANDS.COM available on V5.0 and later to set up the necessary DCL foreign command symbols used for these and for various other tools provided by TCP/IP Services.)

Compaq also has a separate area containing various OpenVMS software tools located at:

        http://ftp.digital.com/pub/VMS/
This area is not consistently maintained, and these tools may (or may not be) the most current versions of the tool. Please check for more recent versions before downloading and using any particular tool.

Western Kentucky University (and madgoat) OpenVMS archives:

  http://www2.wku.edu/fileserv/fileserv.html
  http://www.madgoat.com/

                                           [Hunter Goatley]

The FILESERV packages are also available via anonymous FTP from: or via e-mail from FILESERV@WKUVX1.WKU.EDU.
Send the commands HELP and DIR ALL in the body of a mail message for more information.

If you get the packages via WWW or FTP, they're in ZIP format which requires the UNZIP (note: this is not Gnu gunzip!) tool to unpack. You can get ZIP and UNZIP from the following areas:

        ftp://ftp.wku.edu/vms/unzip.exe      for VAX
        ftp://ftp.wku.edu/vms/unzip.alpha_exe     for Alpha
        ftp://ftp.wku.edu/vms/fileserv/UNZIP.ZIP
        http://www.decus.de:8080/www/vms/sw/zip.htmlx
        http://www.djesys.com/zip.html
        http://www.djesys.com/unzip.html
or you can request the FILESERV_TOOLS package from the e-mail server.

[Beware: The [000TOOLS...] pre-built versions of ZIP on the OpenVMS Freeware V4 CD-ROM will erroneously return BILF errors on OpenVMS V7.2 and later. Use of the source on the Freeware V4 to rebuild the ZIP image(s), or acquiring a pre-built ZIP image from one of the above areas can avoid this. The pre-built version of ZIP on the Freeware V4 kit is older than the included ZIP sources, and it contains a latent bug.]

Another source of free software is the vmsnet.sources newsgroup (and the corresponding vmsnet.sources.d discussion group). See the monthly posting "vmsnet.sources archives" for a list of sites which archive submissions to vmsnet.sources.

Arne Vajhøj runs an OpenVMS WWW page, with software and other pointers, at:

  http://www.levitte.org/~ava/

Kermit is available at:

    http://www.columbia.edu/kermit/ or
    ftp://kermit.columbia.edu/
ZMODEM is available at:
    ftp://ftp.cs.pdx.edu/pub/zmodem
See the FILES file in that directory for further details. Note that this freeware version of ZMODEM will interoperate only with ZMODEM software that is licensed from Omen Technology. (Also on Freeware CD)
 
                                       [Steve Lionel]
A good source of software for DEC boxes (and anything else pretty much) is the DECUS library. online catalogs are available as well as some software via ftp.decus.org; there's a gopher server
  gopher://gopher.decus.org/
an FTP server:
  ftp://ftp.decus.org/
and a WWW server:
  http://www.decus.org/
Some DECUS library CD-ROMs are available online at:
    http://www.acornsw.com/www/acorn/cdrom-via-www.html or
    gopher://gopher.acornsw.com/

                                [munroe@dmc.com]
Phone for orders is 508 841 3502. Lots of good stuff from lots of good folks, and copies on media (tapes, CDs) are cheap.
                                [Everhart@Arisia.gce.com]


MPJZ's Hyper-Software-List for OpenVMS is Martin P.J. Zinser's list of additional software.
    http://axp616.gsi.de:8080/www/vms/sw.html
Chris Higgins's VMS Software List II
    http://csvax1.ucc.ie/www/vms_sw_list/sw_list.html
DECUS SIG Tape collections are available on Mark Berryman's system,
    ftp://mvb.saic.com 
David Jones's DECthreads-based HTTP_SERVER World-Wide Web server for VMS.
    http://kcgl1.eng.ohio-state.edu/www/doc/serverinfo.html

                                            [goathunter@WKUVX1.WKU.EDU]
Secure Shell SSH Server for OpenVMS:
     http://kcgl1.eng.ohio-state.edu/~JONESD/ssh/DOC/
Secure Shell SSH Client for OpenVMS:
     http://www.free.lp.se/fish/
Information on OpenSSL SSLeay for OpenVMS:
     http://www.free.lp.se/openssl/

                                            [Leo Demers]
Information on OpenSSL (SSLeay) and OSU Webserver interoperation:
      http://www.levitte.org/~byerra


                                            [Robert Alan Byer]


DECwindows Motif V1.2-3 includes NCSA Mosaic 2.4 built for UCX. V1.2-4 includes Spyglass Enhanced Mosaic, which supports many "Netscape" enhancements. Netscape Navigator is also available for OpenVMS. A port of Mosaic 2.7-4 which supports UCX, Multinet and SOCKETSHR/NETLIB is available from:
  ftp://wvnvms.wvnet.edu/mosaic/
Lynx (a character-cell World-Wide-Web reader) is available from
  ftp://ftp2.cc.ukans.edu/pub/lynx

                                            [Steve Lionel]
Netscape Navigator will be available as part of the OpenVMS Internet Product Suite. For further details, see:
  http://www.openvms.compaq.com/openvms/products/ips/index.html
  http://www.mozilla.org/
PGP (Phil Zimmerman's "Pretty Good Privacy") is available from various distribution sites, including those listed in the PGP FAQ. Information on an OpenVMS download of PGP is available at
     http://www.pgpi.com/.
     http://zone.pspt.fi/pgp/platforms/vms/.
     http://www.yrl.co.uk/~phil/pds/pds.html.

An archive of the CENA DECwindows, X Windows, and VMS software packages can be found at the following sites:

     http://decwarch.free.fr/
     http://www2.cenaath.cena.dgac.fr/ftp/decwindows/
     ftp://ftp2.cnam.fr/decwindows/
     ftp://ftp.ctrl-c.liu.se/decwindows/
     ftp://ftp.vms.stacken.kth.se/mirrors/decwindows/
     http://www.multimania.com/pmoreau/decw/
     http://www2.cenaath.cena.dgac.fr/ftp/vms/
     http://www.imagemagick.org/
(See also Freeware CD)
  
                                            [Patrick Moreau]
ImageMagick is an X11 package for display and interactive manipulation of images. The package includes tools for image conversion, annotation, compositing, animation, and creating montages. ImageMagick can read and write many of the more popular image formats (e.g. JPEG, TIFF, PNM, XPM, Photo CD, etc.).
  ftp://ftp.x.org/contrib/vms/ImageMagick/ImageMagick-3.3.zip
(Also on Freeware CD)

                                           [cristy@dupont.com]
XV is available from:
  ftp://ftp.cis.upenn.edu/pub/xv
  ftp://ftp.digital.com/pub/graphics/xv
  http://www.sanface.com/

(Also on Freeware CD)

GHOSTSCRIPT and GHOSTVIEW are available from:

  ftp://ftp.digital.com/pub/VMS/ghostview
Also available on the Freeware CD-ROM. Version 2.3 of GhostView-VMS is now available from:
  ftp://iphthf.physik.uni-mainz.de/pub/vms/

                            [plass@dipmza.physik.uni-mainz.de]
XPDF, a viewer for PDF (Adobe Acrobat) files, is available from:
  http://www.foolabs.com/xpdf/

                                            [Ki Suk Hahn]
Beware: the XPDF on OpenVMS Freeware V4 is somewhat dated.

A Java-based PDF viewer is available from Adobe, and is known to operate on recent OpenVMS Alpha releases:

  http://www.adobe.com/

Various OpenVMS-related tools - both freeware and shareware - such as txt2pdf - are available from at:
  http://www.sanface.com/

The MPEG library version 1.1 is available for OpenVMS VAX and Alpha at
  ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.readme
  ftp://ftp.x.org/contrib/vms/mpeglib-11-vms.zip

                                            [Patrick Moreau]
List of FTP Mirror Sites for the DECWINDOWS archive: ftp.x.org (in /contrib/vms) not really a mirror, but I try to put all my new ports at this site.

List of HTTP Mirror Sites for the DECWINDOWS archive:

  http://axp616.gsi.de:8080/wwwar/cena/decwindows/cena.html
Some X clients from the OpenVMS Freeware CDROM are located in [.DECWINDOWS.CDFREEWARE] directory.
                                            [Patrick Moreau]

I have written and installed on INFO.CS.PUB.RO an "Archie" clone for VMS software. Telnet to that machine, and login as VMSARCI. It contains now listings for over 30 ftp servers with more than 14GB of VMS software. The most useful commands are LIST, which generates a list of scanned ftp servers, and FIND <string>, whichs looks for a file containing "string" in the name; the search modes are only "substring" [default] and "exact", and regex search is not supported (so FIND EMACS will work, but FIND *EMACS* or FIND *EMACS*.* will not). The search is case-insensitive. Those of you that know other ftp servers with VMS software that I haven't found, please let me know. (The program that build the databases can recursively scan whole servers- as FTP.WKU.EDU, or just some directories- as NIC.SWITCH.CH/pub/vms) Sorry, this service is VERY SLOW [by Western standards], because it runs on a quite-busy oldie-but-goodie VAXStation 3400 with 20Mb and a RF71, and the Internet link is only 256 Kpbs (sometimes unavailable).
                                       [stfp@roipb.cs.ipb.ro]

The Levitte (extended :-) Family (and OpenVMS) website:
    http://www.levitte.org/
    http://www.levitte.org/~ava/

Robert's OpenVMS Hobbyist Systems, including OpenVMS public domain software and various ports:
    http://www.ourservers.net/

                                          [Robert Alan Byer]

CalTech Software Archives:
    http://seqaxp.bio.caltech.edu/pub/SOFTWARE/AAA_CONTENTS.TXT

DJE Systems Website (David J. Dachtera)
    http://www.djesys.com/freeware/vms/

Web servers:
Apache web server:
         http://www.openvms.compaq.com/openvms/products/ips/apache/csws.html
         http://www.openvms.compaq.com/openvms/products/ips/apache/
         http://www.er6.eng.ohio-state.edu/~jonesd/apache/1_3_9/


OSU Webserver
      http://www.er6.eng.ohio-state.edu/www/doc/serverinfo.html
      http://www.kjsl.com/archives/
      email list: VMS-WEB-daemon-Request@KJSL.COM

Purveyor Webserver: email list: listserv@cjis.ci.lincoln.ne.us no subject, one line message: SUBSCRIBE PURVEYOR

CD-R (CD-Recordable) media tools:

    please see FILE7

Grace (WYSIWYG 2D plotting tool)
    http://plasma-gate.weizmann.ac.il/Grace/

POV-Ray ("Persistance of Vision" Raytracer) ray-tracing graphics package:
    http://www.lp.se/~byerra/povray/povray_contents.html

                                          [Peter Langstoeger]

Majordomo mailing list handler:
    http://www.openvms.compaq.com/openvms/products/ips/majordomo/

PINE (OpenVMS tools for sending and receiving MIME mail):
    ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/
    http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/

A MIME tool is available in OpenVMS V7.2 and later.

Also see the mmencode base64 encode and decode available at:

    http://nucwww.chem.sunysb.edu/htbin/software_list.cgi
Menufinder (menu-driven system management environment)
   http://www.itre.com/mf/download.html
   http://www.itre.com/menufinder/ 

tcgmsg, pvm, mpi, linda:

  http://v36.chemie.uni-konstanz.de/tcgmsg_vms/tcgmsg_vms.zip

OpenVMS software that can control a Tripp-Lite Uninterruptable Power Supply (UPS) is available from:
    http://seqaxp.bio.caltech.edu/pub/SOFTWARE/TCONTROL.ZIP

                                            [David Mathog]
OnliSafe Software for the PowerWare UPS is available from:
    http://www.powerware.com/2products/software/onlisafe/onlisafe.htm

                                            [Janis Cooper]
UPShot web-based software for controlling a UPS is available from:
    http://www.tmesis.com/apc/beta.htmlx

                                            [Brian Shenkenberger]
Examples of using the OpenVMS Foreign MAIL interface are available at:
  http://www.hhs.dk/anonymous/pub/vms/collection/foreignmail.zip
  http://www.hhs.dk/anonymous/pub/vms/nbl/nbl.zip

                                            [Arne Vajhoej]
For tools to manage or to search your OpenVMS MAIL file
see:
   http://www2.wku.edu/scripts/fileserv/fileserv.com?MLSEARCH


                                            [Phillip Helbig]
AscToHTM attempts to convert any plain text file to HTML, while
AscToTab restricts itself to files that are plain text tables.
(Versions are also availabe on the OpenVMS Freeware).
    http://www.jafsoft.com/asctohtm/index.html
    http://www.jafsoft.com/asctotab/index.html

                                            [Jaf]
Information on the SAMBA package (PC disk and print services) is available at:
  http://ifn03.ifn.ing.tu-bs.de/ifn/sonst/samba-vms.html
  http://www.samba.org/

To subscribe to the SAMBA-VMS mailing list e-mail listproc@samba.org with no subject line and the following single line of text:
 subscribe samba-vms Your Full Name
Also see:
  http://lists.samba.org/

Perl: See SOFT12 XML:
Source code of an XML Parser is available from Oracle.
Also see:
    http://www.python.org/sigs/xml-sig/
An XML parser is available as part of OpenVMS V7.3 and later.

GTK+: (The GIMP GUI Tookit) for OpenVMS:

  http://www.openvms.compaq.com/openvms/products/ips/gtk.html

OpenVMS Porting Library now available - for easier porting of C/C++ applications from UNIX to OpenVMS:
  http://www.openvms.compaq.com/openvms/products/ips/porting.html

Mlucas (specialized FFT):
  ftp://hogranch.com/pub/mayer/README.html


                               [Robert Deininger]

Tools to monitor the terminals and the activity of other OpenVMS users (in addition to existing auditing capabilities in OpenVMS) are available. Peek and Spy (Networking Dynamics) and Contrl (Raxco) are two of the commercial packages, while the freeware Supervisor package is available on OpenVMS VAX.
  http://www.networkingdynamics.com/
  http://www.raxco.com/

Python for OpenVMS:
  http://www.python.org/
  http://decus.decus.de/~zessin/python/



SOFT2.

Where can I find the UNIX [whatever] tool for OpenVMS?

POSIX:
POSIX-compliant, Compaq-supported versions of POSIX routines and utilities: POSIX utilities can be used from within the POSIX shell and via the DCL POSIX/RUN POSIX$BIN:tool. command.

POSIX is a separately-installed package, and is licensed with OpenVMS V5.5 later. The POSIX installation kit is included on the consolidated distribution CD-ROM kit, and installation kits are also available separately.

The POSIX package is no longer supported on OpenVMS, components of the POSIX standard such as parts of the POSIX API are being added into OpenVMS. Versions of POSIX generally do not operate on V7.x OpenVMS VAX and OpenVMS Alpha releases.

C:
Common C system and library routines are present in the DEC C run-time library, which is available for V5.5 and later, and is shipped in V6.1 and later. DEC C is the upgrade for VAX C, DEC C and VAX C can coexist on the same system OpenVMS VAX system, and both compilers can be enabled via the "C" license PAK.

Also see SYS$EXAMPLES:, and (if either is installed) the DECW$EXAMPLES: and UCX$EXAMPLES: areas.

X Windows:
Various Compaq X Windows utilities:

In DECW$UTILS: in DECwindows Motif V1.2-3 and later. Also see DECW$EXAMPLES: for example X and C programs.

Miscellaneous tools and examples:
Various unsupported OpenVMS tools and code examples:

are all on the FreeWare V2.0 CD-ROM.

IP tools:
DEC TCP/IP (UCX) contains tools such as:

OpenVMS V6.2 and UCX V3.3 and later can be used together in support of the /FTP, /RCP, /RLOGIN, /TELNET, and /TN3270 qualifiers on various DCL commands.

Also see the various C examples in UCX$EXAMPLES:


                                      [Stephen Hoffman]
vi clones
Both vile and elvis (vi clones) run on OpenVms.

The current version of vile is 7.1
It's available at

        http://www.clark.net/pub/dickey/vile/vile.html
        ftp://ftp.clark.net/pub/dickey/vile
        ftp://id.wing.net/pub/pgf/vile
Versions of VILE are also on the OpenVMS Freeware

                                      [Thomas Dickey]
vim: vi improved
        http://www.polarfox.com/vim/

                                        [Zoltan Arpadffy]

GNU tools:
Information on the GNU on VMS Project, which aims to port GNU software to VMS, is available at:
    http://vms.gnu.ai.mit.edu/
    ftp://vms.gnu.ai.mit.edu/gnu-vms/
Software info:
    http://vms.gnu.ai.mit.edu/software/
Software archive:
    ftp://vms.gnu.ai.mit.edu/gnu-vms/software/
GNV tools:
BASH (Bourne Again Shell) (part of GNV):
  http://gnv.sourceforge.net/

GCC:
A mirror for work performed at the Progis company in Germany in porting GCC (GNU C) to OpenVMS Alpha and OpenVMS VAX is available at:
    ftp://vms.gnu.org/progis_mirror/gcc
The latest (known to me) GCC version for VAX/VMS (binaries only) is 2.7.1 from Pat Rankin's site.
    ftp://ftp.caltech.edu/pub/rankin/

                                         [Jason Armistead]

Some of the available console management options for OpenVMS:
                                       [Kerry Main]

If you need to change the file modification date and are looking for a utility such as the UNIX touch tool, look at DFU on the OpenVMS Freeware (DFU SET or simular), or use an existing DCL commands such as:
  SET FILE/PROTECT=(current_protection_mask) [...]*.*
A table listing translations between UNIX shell and OpenVMS DCL commands was posted to comp.os.vms by Christopher Smith:
  http://deja.com/getdoc.xp?AN=581596523.1&CONTEXT=953337549.952369155



SOFT3.

Where can I get the Netscape Navigator Mozilla.org Web Browser?

Mozilla.org is the open source organization providing Netscape and other interested parties with a browser. Netscape is expected to commercialize this mozilla.org browser, add additional proprietary features, and release it as Netscape Communicator (version number TBD). This Netscape Communicator will contain the features that the Internet community expected to see in Netscape Communicator V5.

OpenVMS Engineering is currently porting Mozilla.org's web browser to OpenVMS - OpenVMS baselevels of the browser are currently available for download.

The mozilla.org browser schedule is available at:

  http://www.mozilla.org/project/
The latest information and current downloads are available at:
  http://www.openvms.compaq.com/openvms/products/ips/

See section SOFT9 for information on various certificates for V3.003 Netscape Navigator; certificates that have presently expired.

                                        [Sue Denham]
                                        [Stephen Hoffman]



SOFT4.

Where can I get Java for OpenVMS

Java is available on and is included with OpenVMS Alpha, starting with the OpenVMS Alpha V7.2 and later releases. Java download kits are available for OpenVMS Alpha V7.1 and later releases.

Java is not available on OpenVMS VAX. As for why: the Java language definition requires a floating point format (IEEE) that is not native to VAX, and this would require the emulation of all floating point operations within Java applications. Further, the C source code used to implement for Java itself is heavily dependent on passing IEEE floating point values around among the many internal subroutines, and adding support for VAX would entail changes to the Compaq C compiler for OpenVMS VAX - and specifically to the VAX VCG code generator that is used by Compaq C on OpenVMS VAX systems - in order to add support for passing IEEE-format floating point doubles around. Alternatively, extensive changes to the Java source code to remove the assumption that the double is an IEEE floating point value.

There are currently no plans to make a version of Java available for OpenVMS VAX. (A prototype version of Java was created for OpenVMS VAX, and performance was found to be inadequate at best.)

If Java2 or other environment lifts the requirements for IEEE floating point as part of the language definition, this decision may be revisited.

For additional information on Java for Alpha systems, please see the OpenVMS documentation (V7.2 and later), and the following site:

    http://www.compaq.com/java/alpha/index.html




SOFT5.

VAX C and DEC C, and other OpenVMS C Programming Considerations

VAX C V3.2 was released for OpenVMS VAX systems in 1991. DEC C V4.0 replaced VAX C V3.2 in 1993 as the Compaq C compiler for OpenVMS VAX systems. Compaq C is the ANSI C compiler for OpenVMS Alpha systems. VAX C predates the ANSI C standards, and has various areas that are not compliant with ANSI C requirements. Compaq C is an ANSI C compiler, and can also compile most VAX C code when /STANDARD=VAXC is specified. Versions of this compiler between V3.2 and V6.0 (exclusive) were known as either DEC C or DIGITAL C.

Both compilers can be installed at the same time on the same OpenVMS VAX system, allowing a migration from VAX C to DEC C, and allowing the same DEC C code to be used on OpenVMS VAX and OpenVMS Alpha. In 1999, the C compiler version is Compaq C V6.0.

The system manager can choose the system default C compiler when Compaq C is installed on a system with VAX C, and a C programmer can explicitly select the required compiler for a any particular compilation.

A current "C" license PAK allows access to both VAX C and Compaq C on the same OpenVMS VAX system.

Various Compaq C versions can be installed on OpenVMS VAX V5.5-2 and later. OpenVMS VAX releases such as V5.5-2 and V6.0 will require the installation of a Compaq C RTL kit, a kit that is included with the Compaq C compiler. OpenVMS VAX versions V6.1 and later do not require a seperate RTL kit, but Compaq C RTL ECO kits are available to resolve problems found with the C RTL on various OpenVMS releases.

With Compaq C, for automatic resolution of the standard C library routines by the LINKER utility, use the /PREFIX qualifier, such as PREFIX=ALL_ENTRIES. If a particular application program replaces an existing C library routine, use /PREFIX=(ALL_ENTRIES,EXCEPT=(...)). VAX C required explicit specification of an RTL shareable image or C object library during the link.)

When the /PREFIX is requested, the compiler generates a "decc$" prefix on the specified symbols. This prefix allows the LINKER to resolve the external symbols against the symbols present in the DECC$SHR library. The DECC$SHR library is included in the IMAGELIB.OLB shareable image library, and IMAGELIB is searched by default when any program (written in any language) is LINKed. Because the standard C library routine names are very likely to match application routines written in other languages, a prefix "decc$" is added to the C symbol names to assure their uniqueness; to prevent symbol naming conflicts. C programs, however, can sometimes have private libraries for various purposes, and the external routines share the same names as the library routines. This is not recommended, but there are applications around that use this technique.) Thus the need to explicity specify whether or not the "decc$" prefix should be prepended to the external symbol names by the compiler.

The qualifiers, and most (all?) with associated pragmas, that may be of interest when migrating VAX C code to Compaq C include:

PREFIX=ALL_ENTRIES
As mentioned above. Failure to specificy this qualifier can cause the compiler to not add the prefixes for the names of the C library routines into the references placed in the object module, which can in turn cause problems resolving the external symbols in the library when the object code is linked.
/ASSUME=WRITABLE_STRING_LITERALS
Some VAX C programs erroneously write to the string literals. By default, Compaq C does not allow the constants to change.
/SHARE_GLOBALS
Enables sharing ("shr") of globals and of extern variables. Compaq C sets externs as non-shareable ("noshr"), VAX C as "shr".
/EXTERN_MODE=COMMON_BLOCK
VAX C assumes common block model for external linkages.
/[NO]MEMBER_ALIGNMENT
Refers to the padding placed between member elements within a struct. Disabling member alignment packs the data more tightly into memory, but this packaging has performance implications, both on OpenVMS VAX and particularly on OpenVMS Alpha systems.

Permit structure members to be naturally aligned whenever possible, and avoid using /NOMEMBER_ALIGNMENT. If you need to disable member alignment, use the equivilent #pragma to designate the specific structures. The alignment of structure members normally only comes into play with specific unaligned data structures - such as the sys$creprc quota itemlist - and with data structures that are using data that was organized by a system using byte or other non-member alignment.

Versions of Compaq C such as V6.0 include the capability to extract the contents of the standard header libraries into directories such as SYS$SYSROOT:[DECC$LIB...], and provide various logical names that can be defined to control library searches. With Compaq C versions such as V6.0, the default operations of the compiler match the expectations of most OpenVMS programmers, without requiring any definitions of site-specific library-related logical names. (And logical names left from older DEC C versions can sometimes cause the compiler troubles locating header files.)

Compaq C V5.6 and later include a backport library, a mechanism by which Compaq C running on older OpenVMS releases can gain access to newer RTL routines added to the RTL in later OpenVMS releases - the language RTLs ship with OpenVMS itself, and not with the compilers.

Example C code is available in SYS$EXAMPLES:, in DECW$EXAMPLES (when the DECwindows examples are installed), in UCX$EXAMPLES (when Compaq TCP/IP Services is installed), on the Freeware CD-ROMs, and at web sites such as

    http://www.openvms.compaq.com/wizard/
Other common C issues:
The localtime() function and various other functions maintain the number of years since 1900 in the "struct tm" structure member tm_year. This field will contain a value of 100 in the year 2000, 101 for 2001, etc., and the yearly incrementation of this field is expected to continue.

The C epoch typically uses a longword (known as time_t) to contain the number of seconds since midnight on 1-Jan-1970. At the current rate of consumption of seconds, this longword is expected to overflow (when interpreted as a signed longword) circa 03:14:07 on 19-Jan-2038 (GMT), as this time is circa 0x7FFFFFFF seconds since the C base date. (The most common solution is to ensure that time_t is an unsigned.)

If C does not correctly handle the display of the local system time, then check the UTC configuration on OpenVMS -- the most common symptom of this is a skew of one hour (or whatever the local daylight savings time change might be). This skew can be caused by incorrect handling of the "is_dst" setting in the application program, or by an incorrect OpenVMS UTC configuration on the local system. (See section TIME4.)

Other common C++ issues:
Compaq C++ (a separate compiler from Compaq C) provides both symbol mangling and symbol decoration. Some of the details of working with longer symbol names and the resulting symbol name mangling in mixed language environments are listed in the shareable image cookbook, and in the C++ documentation. Symbol name decoration permits the overloading of functions (by adding characters to the external symbol for the function to indicate the function return type and the argument data types involved), and mixed-language external references can and often do need to disable this decoration via the extern "C" declaration mechanism:

      extern "C"
        {
        extern int ExternSymbol(void *);
        extern int OtherExternSymbol(void *);
        }

Also see ALPHA16 for information on /ARCHITECTURE and /OPTIMIZE=TUNE.



SOFT6.

Obtaining user input in DCL CGI script?

If you choose to use the GET method, then the form data is available in the DCL symbol QUERY_STRING, in URL-encoded format.

If you use the POST method, then you need to read the form data from stdin. For a DCL CGI script running under the Netscape FastTrack web server, you can read the data using the following READ command:

  $ READ SYS$COMMAND postdata
to read the information in.
                                                [Colin Blake]
The following describes the use of DCL command procedures as CGI scripts with the OSU web server:
  http://www.levitte.org/~ava/cgiscripts_other.htmlx

                                                [Leif Jansson]



SOFT7.

How do I get my own batch entry number?

To have a batch procedure retrieve its own batch entry number, use the following:
  $ Entry = F$GETQUI("DISPLAY_ENTRY", -
      "entry_number","display_entry","this_job")

Remember that the entry numbers issued by the OpenVMS Job Controller are opaque longword values. Don't assume you know the format of the number, nor the range of numbers you might see...
 

                                                [Peter Weaver]



SOFT8.

How do I convert to new CMS libraries?

A change was made to the format of the CMS database for CMS libraries starting with V3.5-03 - to ensure that earlier versions of CMS are unable to access the database once the "conversion" to V3.5-05 and later is made, you must issue the following two commands when upgrading from V3.5-03 and prior. (The only differences between CMS version V3.5-03 and CMS version V3.5-05 involve changes to ensure that np earlier version of CMS can access the "converted" database.)

To perform the "conversion", issue the following commands for each CMS library present:

    $ RENAME disk:[directory]00CMS.* 01CMS.*
    $ COPY NLA0: disk:[directory]00CMS.CMS
The new file 00CMS.CMS must have the same security settings as the 01CMS.CMS file, and is created solely to ensure continued compatibility with tools that expect to find a 00CMS.CMS file (eg: various versions of the Language-Sensitive text editor LSEDIT).



SOFT9.

Where can I get new certificates for Netscape Navigator?

The URLs that I found for adding/updating root certificates are:

                                          [Ken Chaney]
To update certificates in Netscape Navigator V3.03 on OpenVMS, use the following:
Here's how to update your Root certificates in Netscape:

Thawte Server certificate which expired in 1998:

  1. Under the Options Menu choose "Security Preferences..."
  2. Select the "Site Certificates" tab
  3. Select "Thawte Server CA" in the list of certificates
  4. Select "Delete Certificate" and then "OK"
  5. Go to http://www.thawte.com/serverbasic.crt Follow the instructions on the popup dialog box to accept the certificate This mostly involves hitting the "Next" button and clicking an accept button and then naming the resulting certificate. I named it the same name as the original.

VeriSign/RSA Server certificate which expired Dec 31, 1999:

  1. Under the Options Menu choose "Security Preferences..."
  2. Select the "Site Certificates" tab
  3. Select "Verisign/RSA Secure Server CA" in the list of certificates
  4. Select "Delete Certificate" and then "OK"
  5. Go to https://www.verisign.com/server/prg/browser/root.html
  6. Follow the instructions on the popup dialog box to accept the certificate This mostly involves hitting the "Next" button and clicking an accept button and then naming the resulting certificate. Verisign suggests using the name "VeriSign CA".

                                          [Vance Haemmerle]



SOFT10.

Why doesn't DCL symbol substitution work?

The DCL symbol substitution processing occurs only at the DCL prompt, not within data and not within files. If you wish to perform symbol substitution in this environment, you typically write a small file containing the command(s) and data to be invoked - potentially only the data - and you then invoke the created procedure or reference the specified data.

In this case, use of a file containing nolinemode commands or other techniques might be useful - you will want to ensure that the text editor you use does not attempt to use screen mode or similar, as this is not generally considered adventageous within a command procedure.

Tools such as FTP have alternatives: COPY/FTP.

DCL symbol substitution occurs in two passes, using the ampersand and the apostrophe. In most cases, only the apostrophe is necessary. In a few cases - such as the DCL PIPE command - you will may need to use the ampersand to get the substitution to work. The following example uses ampersand substitution to transfer the contents of the header into a logical name:

  $ PIPE CC/VERSION | (READ SYS$PIPE hdr ; DEFINE/JOB/NOLOG hdr &hdr )

A logical name (in the job logical name table; shared by all processes in the current job) was used as DCL symbols cannot be returned back out from a DCL PIPE or other spawned subprocess.



SOFT11.
Moved to MGMT40



SOFT12.

Where can I get Perl for OpenVMS?

OpenVMS support is included in the standard distribution of Perl, the popular scripting language created by Larry Wall. In addition to nearly all of the functionality available under Unix, OpenVMS-specific Perl modules provide interfaces to many native features, as well as access to Oracle, Ingres, and Sybase databases via the Perl DBI available on OpenVMS.

A website useful for getting started with Perl on OpenVMS - where you will find such things as download links, instructions, auxiliary tools, and sample scripts - is available at:

     http://www.sidhe.org/vmsperl
If you have a C compiler, the best way to obtain Perl is to download and build it yourself. The latest production quality source kit is available from:
     http://www.perl.com/CPAN/src/stable.tar.gz
You will need GUNZIP and VMSTAR (both available from the OpenVMS Freeware CD, or from other sites) to unpack the archive; once you've done that, read the instructions in the README.vms file.

Binary distributions for most Alpha and VAX environments are available on the OpenVMS Freeware CD-ROM and from various websites, including the following:

     http://www.sidhe.org/vmsperl/prebuilt.html
     http://www.openvms.compaq.com/freeware/perl5/
During active Perl development cycles, test kits are sometimes found at: from:
     ftp://perl.newman.upenn.edu/perl5/
     ftp://ftp.sidhe.org/
Watch the mailing list (see below) for details on experimental releases.

Charles Lane maintains pages on how to write CGI scripts in Perl for the OSU HTTP server, as well as more general tips, tricks, and patches for building and running Perl on OpenVMS:

     http://www.crinoid.com/crinoid.htmlx
There are OpenVMS-specific Perl modules that implement interfaces to a subset of the VMS System Services. With these modules, you can get (and often set) device, job, queue, user, system, and performance information. The lock manager, RMS indexed files, screen management utilities, and Intracluster Communication Services are also accessible via Perl. The relevant modules are all available from:
     http://www.perl.com/CPAN/modules/by-module/VMS
To subscribe to the OpenVMS Perl mailing list (a discussion forum for both user support and new development), send an email message to:
    vmsperl-subscribe@perl.org
The mailing list archives may be searched at:
    http://www.xray.mpe.mpg.de/mailing-lists/vmsperl

                                              [Craig Berry]



SOFT13.

Where can I get DECmigrate (VEST and TIE)?

The DECmigrate image translation tool, a tool that translates OpenVMS VAX images for use on OpenVMS Alpha is available at:
     http://www.support.compaq.com/amt/decmigrate/index.html
This tool is not currently supported.

See UTIL4.



SOFT14.
See DOC12

Next Back