HP OpenVMS Systems Documentation

Content starts here

The OpenVMS Frequently Asked Questions (FAQ)

Previous Contents Index

  • The following touch hack:

    $!   Command procedure SETDATE.COM
    $!   Changes the DATES for an input file to a
    $!   file named OUTFILE.
    $assign/nolog 'p1' outfile
    $convert/fdl=sys$input 'p1' outfile:
    creation   01-apr-2010
    expiration 01-Apr-2012
    revision   01-Apr-2011
  • The following RMS system service sequence:
    • sys$open(), with the XABRDT XAB structure chained.
    • set the desired values within the XABRDT XAB.
    • sys$close()

    Various OpenVMS tools and utilities are available at:

    OpenVMS ports of the xmcd and MPlayer tools have also been reported as available.

    13.2 Where can I find UNIX tools for OpenVMS?

    There are OpenVMS DCL and UNIX shell command comparison tables posted at:

    The GNV package ( Section 13.2.6) and the various C library calls available in current/recent libraries are the replacement for the POSIX package.

    13.2.1 C system and library routines

    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 TCPIP$EXAMPLES (or prior to V5.0, UCX$EXAMPLES:) areas.

    The HP C Run-Time Library documentation is now part of the OpenVMS Operating System Documentation, and separate from the HP C compiler documentation.

    Additionally, there have been large-scale increases to the capabilities and features available within recent HP C compilers. If you have not taken the opportunity to skim the current C compiler documentation, you may well be surprised with the sheer volume of new C capabilities discussed there.

    13.2.2 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, Castle Wolfenstein (Wolf3D), etc. are all on the various OpenVMS Freeware distributions. (Also see the GNV package ( Section 13.2.6) for related materials, APIs, and tools.)

    13.2.3 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 TCP/IP Services (UCX) V3.3 and later as well as any then-current or now-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 various DCL commands including DIRECTORY.

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

    13.2.4 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.5 The Emacs Text Editor

    OpenVMS ports of versions of the Emacs text editor can be found on various OpenVMS Freeware distributions (eg: OpenVMS Freeware V7.0 has a port of Emacs 21.2), and at various web sites including:

    "Emacs isn't a text editor, it's a way of life."

    For comparisions of OpenVMS text editors and UNIX, see the following:

    13.2.6 GNV: Various GNU tools

    Information on the GNU on VMS (GNV; "GNU's Not VMS") Project, which aims to port and provide GNU software (bash, flex, bison, tar, grep, gcc emulation, etc) to OpenVMS, is available at:

    Software info:

    Software archive:

    Various GNU tools are also available on the Freeware. GCC compiler

    Yes, gcc is available for OpenVMS Alpha and OpenVMS I64.

    In addition to gcc, 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.15 for information on DSPP.)

    13.3 What is the status of PL/I on OpenVMS?

    Kednos now owns and supports the former DIGITAL PL/I compiler and run-time support on OpenVMS, and is the contact for product status, support and associated plans.

    As of this writing, (older) versions of the PL/I run-time library and associated supporting images remain available on OpenVMS VAX and on OpenVMS Alpha, including the DECmigrate VEST translated images run-time support on OpenVMS Alpha, though neither the PL/I shareable image nor the DECmigrate (AEST) translated image support for the PL/I run-time are available (from HP) on nor present on OpenVMS I64 systems. Newer versions of the PL/I run-time library may be (are?) available from Kednos for various OpenVMS platforms; please contact Kednos for product details and availability.

    13.4 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 and the Secure Web Browser (SWB) package.

    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 Secure Web Browser (SWB) kit is a packaged version of the Mozilla Web Browser, and typically the SWB version number matches the underlying Mozilla version.

    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.

    13.5 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 Secure Web Server (SWS, formerly CSWS) includes CSWS_JAVA, which provides the following Apache Tomcat technologies: JavaServer Pages 1.1, Java Servlet 2.2, and MOD_JK. Also available is CSWS_PHP, a PHP implementation. (SWS is based on the Apache web server. See SOFT1.)

    13.6 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.7 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", -

    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.8 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.9 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.10 Obtaining the DECmigrate (AEST or VEST, and TIE) translator?

    The DECmigrate image translation family provides tools that translate OpenVMS VAX images for use on OpenVMS Alpha, and OpenVMS Alpha images for use on OpenVMS I64, Details are available at:

    VEST is the name sometimes given to the DECmigrate translation tool for VAX images, AEST is the name given to the Alpha translation tools, and TIE names the DECmigrate run-time environment within OpenVMS. (If you've ever noticed images with filenames ending with _TV and wondered what this meant, these images are part of TIE.) And yes, you can use AEST to re-translate images that were translated using VEST; you can perform a second translation of a VAX image.

    Please see Section 13.12 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.11 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:

    Freeware V4.0 [000TOOLS...]*ZIP*.EXE

    The Freeware V4.0 [000TOOLS...] pre-built versions of ZIP will erroneously return BILF errors on OpenVMS V7.2 and later. This is not the only error lurking within these pre-built versions, just the most obvious. Accordingly, please use one of the far more current versions that are now readily available, whether on the most recent Freeware distribution, or from one of the sites listed above.

    Do not use the Freeware V4.0 [000TOOLS...]*ZIP*.EXE images.

    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 and unzip directory, or Info-Zip directory, or visit one of the web sites. With most OpenVMS ports of the tools, find and invoke LINK.COM. No compilers are needed, as objects are provided with most distributions.

    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 typically provides better compression than does DCX.) FTSV and FTSO are available on Freeware V7.0, for OpenVMS VAX and OpenVMS Alpha. Due to changes in the image headers, no version of FTSV is presently available for OpenVMS I64.

    Previous Next Contents Index