The OpenVMS Frequently Asked Questions(FAQ)


Previous Contents Index

13.2.3 X Windows utilities and routines

Various X Windows utilities are available for DECwindows. DECwindows is an implementation of the X Windows environment and libraries, and provides various libraries, and provides various desktop interfaces, including COE, Motif, and XUI.

xwd, xev, mosaic web browser, xrdb, bmtoa and atobm, xpr, ico, etc. are available. Look 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 are also available. Examples include the older DWAUTH (X Windows SYSUAF authorize-like tool) tool, various versions of grep, fgrep, yacc, vmstar, uuencode, gawk, etc. html tools, the mx SMTP mail exchange package, X windows flight simulator, the mxrn X windows news reader, the OSU HTTPD WWW server, a WWW gopher browser, etc. are all on the various Freeware distributions.

13.2.4 TCP/IP Tools and Utilities for OpenVMS?

TCP/IP Services (formerly known as UCX) contains tools such as ping, uuencode, smtp, snmp, rcp, nfs, tnfs, etc.

OpenVMS V6.2 and later includes DCL-integrated support for various IP tools, with commands such as SET HOST/TELNET, and COPY/FTP. This interface requires the installation of an IP stack, and UCX V3.3 and later as well as any current third-party IP stack can be used. Once the IP stack is installed and configured, the DCL command qualifiers such as /FTP, /RCP, /RLOGIN, /TELNET, and /TN3270 are available on the various DCL commands.

Various C programming examples in TCPIP$EXAMPLES and (on releases prior to V5.0) in UCX$EXAMPLES:.

13.2.5 The vi text editor

vile, vim and elvis are all clones of the vi text editor, and all operate on OpenVMS.

Versions of vile are available on the Freeware and at:

vim: vi improved

13.2.6 Various GNU tools

Information on the GNU on VMS (GNV) Project, which aims to port GNU software (bash, flex, bison, etc) to OpenVMS, is available at:

Software info:

Software archive:

Various GNU tools are also available on the Freeware.

13.2.6.1 GCC compiler

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:

There are also updated header files for GCC on OpenVMS VAX that allow it to work with TCP/IP Sockets and the HP C RTL at:

The HP C compiler and other development tools are part of the OpenVMS Hobbyist licensing program for non-commercial users, and these and other tools are available to commercial developers via the HP DSPP partner program. (See Section 2.14 for information on DSPP.)

13.3 Where can I get the Mozilla Web Browser?

Mozilla.org is an open source organization providing HTML-related tools; software that is the basis for various utilities including the Mozilla web browser.

OpenVMS Engineering is continuously porting Mozilla.org's web browser to OpenVMS, and OpenVMS ports of the current Mozilla baselevels and releases are available. The OpenVMS Mozilla port includes the web browser, the mail client, the Composer HTML editor, an IRC chat client, a netnews (NNTP) reader, and various other tools.

The Mozilla web browser download and the development and release schedules for this and for other Mozilla-related tools are available at:

The available Compaq Secure Web Browser (CSWB) kit is a packaged version of the Mozilla Web Browser.

A hardware configuration appropriate for Mozilla generally involves an OpenVMS Alpha system with an EV56 Alpha microprocessor, or an EV6 or more recent processor, and with 256 megabytes of system memory. The performance of Mozilla on EV5-based and earlier Alpha microprocessor systems is generally viewed as inadequate, this due to the extensive use of an Alpha instruction subset that is first available with the EV56 microprocessor generation.

Mozilla is not available for OpenVMS VAX.

Various versions of the Netscape Navigator web browser are based on the Mozilla code-base.

See section Section 13.8 for information on various certificates for the Netscape Navigator V3.03 web browser; certificates that have presently expired.

13.4 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 HP C compiler for OpenVMS VAX---and specifically to the VAX VCG code generator that is used by HP 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.

If you are having problems with Display Postscript, you need to upgrade your Java kit---1.2.2-3 and later remove the requirement for Display Postcript extensions, and Java 1.2.2-3 is required with DECwindows V1.2-6 and later.

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

HP (Compaq) Secure Web Server (CSWS) includes CSWS_JAVA, which provides the following Apache Tomcat technologies: JavaServer Pages 1.1, Java Servlet 2.2, and MOD_JK. (CSWS is based on the Apache web server. See SOFT1.)

13.5 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.

The following describes the use of DCL command procedures as CGI scripts with the OSU web server:

DCL CGI is also discussed in the Writing Real Programs in DCL book, and in the Ask The Wizard website.

13.6 How can a batch job get its 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 always opaque longword values. Do not assume you know the format of the entry number, nor the range of entry numbers you might see, nor the algorithm that is used to assign enty numbers. You should simply assume opaque longword.

13.7 How do I convert to new CMS or DTM 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 no earlier version of CMS can access the "converted" database, and corrupt it.)

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).

If you choose to install and use the longer variant names support that is available with CMS V4.1 or later, you cannot mix earlier CMS versions within a cluster. If you attempt to mix older and newer versions, you will typically see the following BADLIB and BADTYPSTR error sequence when accessing the CMS library from the older CMS versions:


%CMS-F-BADLIB, there is something wrong with your library 
-CMS-F-BADTYPSTR, header block type is 145; it should be 17 

Please see the CMS V4.1 release notes for additional details on this.

To perform the equivalent "conversion" for DEC Test Manager (DTM) V3.5 and prior versions to V3.6 and later versions, issue the following DCL commands for each DTM library present:


$ RENAME disk:[directory]00DTM.* 01DTM.* 
$ COPY NLA0: disk:[directory]00DTM.DTM 

Like CMS, this change is intended to prevent older versions of DTM from accessing newer libraries, and corrupting the contents. Like CMS, once the libraries are renamed, they cannot and should not be renamed back to the older names; like CMS, the changes are not downward-compatible.

To convert version 1 (ancient) DTM and CMS libraries forward, please see the DTM CONVERT and the CMS CONVERT commands.

13.8 Where can I get new certificates for Netscape Navigator?

The URLs that are available for adding or updating root certificates are:

To update certificates in Netscape Navigator V3.03 on OpenVMS, use the following:

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
  6. Follow the instructions on the popup dialog box to accept the certificate This involves hitting the "Next" button and clicking an accept button, and then naming the resulting certificate. The certificate is usually named with the same name as the original.

VeriSign/RSA Server certificate which expired 31-Dec-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 involves hitting the "Next" button and clicking an accept button, and then naming the resulting certificate. Verisign suggests using the name "VeriSign CA".

13.9 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.

13.10 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:

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:

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:

During active Perl development cycles, test kits are sometimes found at: from:

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:

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:

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:

13.11 Obtaining the DECmigrate (VEST and TIE) translator?

The DECmigrate image translation tool, a tool that translates OpenVMS VAX images for use on OpenVMS Alpha is available at:

VEST is the name sometimes given to the DECmigrate translation tool, while TIE names the DECmigrate run-time environment.

Please see Section 7.4 and Section 13.13 for related information. Please see the website for the most current details on availability and plans and status of translations for OpenVMS I64 platforms.

13.12 Where can I get Zip, Unzip, self-extracting zip, etc?

Many packages are provided in ZIP, GZIP, or BZIP2 format, which requires you to acquire the associated unzip tool to unpack it. You can get ZIP and UNZIP and related and similar tools from the following areas:

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 (http://www.hp.com/go/openvms/freeware/ Freeware V4.0) 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.]

Directions for creating and using the sfx self-extracting zip file compression mechanism are available in the unzip kit that is available at:

If you want to build the zip images for yourself (eg: for an older OpenVMS version), pull over the entire contents of a recent unzip directory.

and invoke LINK.COM.

HP OpenVMS Engineering uses a tool known as FTSV for creating self-extracting compressed files using the OpenVMS DCX compression tools, as seen with various OpenVMS ECO (patch) kits. sfx provides better compression than does DCX. The FTSV and its related FTSO package have only limited availability outside HP, and are not standard products.

13.13 Are VAX Hardware Emulators Available?

Software-based emulators of the VAX architecture and for specific VAX hardware platforms are available from various sources:

VAX emulators that operate on PC systems and/or on OpenVMS Alpha systems are available. For information on an alternative to using a VAX emulator--- on the available DECmigrate VAX executable image translator---please see Section 13.11.


Previous Next Contents Index