VSI VMS/XDE

Installation and Configuration Guide


1. Introduction

VMS Cross-Development Environment (VMS⁠/⁠XDE) is a set of tools for developing OpenVMS x86-64 applications on GNU/Linux operating systems. For a large part based on OpenVMS itself, it offers an accurate OpenVMS-like user environment suitable for OpenVMS development and debugging, using the exact same toolchain (compiler, librarian, linker, debugger) that is available on OpenVMS x86-64. Running on Linux, it also provides access to Linux-based tools like editors and source-control.

For information about new features, bug fixes, and known issues in this release of VMS⁠/⁠XDE, refer to the current version of Release Notes.

2. System Requirements

  • Host operating system: An x86-64 GNU/Linux distribution with the minimum kernel version 5.9

  • CPU: Intel Skylake-based (6xxx) or AMD 1st generation Zen-based (Ryzen-1xxx)

  • RAM: 8 GB

  • Libraries: GLIBC 2.28 and GLIBCXX 3.4.26

  • File system: A file system that supports extended attributes (such as ext3 or ext4)

    Warning

    VSI does not guarantee the correct functioning of VMS⁠/⁠XDE when it is installed directly on NTFS-based partitions or if NTFS-based partitions are used for the DKA0 or DKA1 storage devices.

3. Using VMS⁠/⁠XDE

This section provides the information that you need to get started with VMS⁠/⁠XDE.

Before You Start

Before you start using VMS⁠/⁠XDE, familiarize yourself with the current limitations of the product. Refer to Section 3, "Known Issues and Limitations" of the Release Notes.

3.1. Installing VMS⁠/⁠XDE

Warning

VMS⁠/⁠XDE cannot be installed or run by a root user or a user from the root group.

VMS⁠/⁠XDE is provided to users in the form of a self-extracting archive. Use the following commands to unpack the archive:

$ chmod +x ./archive-name
$ ./archive-name

The archive will be extracted into the directory VMS⁠/⁠XDE in the current directory of your host operating system.

Warning

When installing and configuring VMS⁠/⁠XDE, do not configure TCP/IP, do not touch the OpenVMS timezone settings, and do not use the SYSGEN utility or the SYSMAN utility. For more information, refer to Section 3, "Known Issues and Limitations" of the Release Notes.

3.1.1. Installing a Patch

VMS⁠/⁠XDE patches come in the form of packages containing the updated VMS⁠/⁠XDE executables. To install a patch, put it on the same level as your VMS⁠/⁠XDE installation directory and run the same installation commands that you would run for a fresh installation (see Section 3.1, ''Installing VMS⁠/⁠XDE'' above).

3.2. Starting VMS⁠/⁠XDE

To run VMS⁠/⁠XDE, enter the following commands in this exact order:

$ cd VMS-XDE
$ ./run.sh

The command ./run.sh accepts the following optional parameters:

Optional ParameterDescription
  • --version
  • -v

Show current version.

  • --help
  • -h

Show help.

  • --shutdown
  • -s

Gracefully shut down VMS⁠/⁠XDE and all OpenVMS processes.

--input=file-name

Full path to the DCL script that will be executed when VMS⁠/⁠XDE starts, for example --input=DKC0:[MY-DISK]INPUT.COM.

--output=file-name

Full path to the file where you want to write the VMS⁠/⁠XDE output, for example --output=DKC0:[MY-DISK]OUTPUT.LIS.

--error=file-name

Full path to the file where you want to write the error log, for example --error=DKC0:[MY-DISK]ERROR.LIS.

--fgsync

Run in non-interactive mode and wait until finished.

This parameter can be used only if the --input and --output parameters are set.

On first start-up, an OpenVMS user will be created automatically within VMS⁠/⁠XDE. The name of that user will be the same as that of the current host system user. When starting VMS⁠/⁠XDE, enter that user name when prompted. Password is not required.

3.3. Storage Emulation Directories In This Package

The following storage emulation directories? are included in this package and guarantee that VMS⁠/⁠XDE functions correctly:

DirectoryPurpose
vms_os/V9.2/DKA0Emulates the system storage device.
vms_os/V9.2/DKA1Emulates a device that contains the OpenVMS user home directory.
vms_os/V9.2/DKC0Both of these directories emulate storage devices for storing the files that are shared between VMS⁠/⁠XDE and the host operating system.
vms_os/V9.2/DKC1
vms_os/V9.2/LDM1Emulates an OpenVMS memory disk. Do not change anything about this directory, otherwise VMS⁠/⁠XDE may not function correctly.

Important

Any additional storage emulation directories must be created in the same location, "vms_os/V9.2".

4. Trial Period Limitations

The trial period for the current demo version of VMS⁠/⁠XDE will end on March 31, 2026. For more information, refer to VMS Software EULA.

A. Optional Configuration Steps and Reference Information

A.1. Understanding Storage Emulation Directories

All data within VMS⁠/⁠XDE is stored in storage emulation directories on the host system. Storage emulation directories are regular host system directories that VMS⁠/⁠XDE uses to emulate OpenVMS storage devices. Currently, VMS⁠/⁠XDE supports two types of devices:

DKAn

These devices support the OpenVMS file versioning feature and are intended for storing OpenVMS files.

The directories used for emulating DKA devices, as well as all subdirectories and files stored in them, must follow OpenVMS naming conventions, i.e. include the version number suffix ;n. For example, EXAMPLE-FILE.TXT;1, EXAMPLE-FILE.TXT;2, etc. For more information on OpenVMS file versions, refer to VSI OpenVMS User's Manual.

DKCn

These devices do not support the OpenVMS file versioning feature and are intended for storing the files that are shared between VMS⁠/⁠XDE and the host operating system.

The directories used for emulating DKC devices, as well as all subdirectories and files stored in them, must follow the host operating system naming conventions.

Note

The names of all storage emulation directories, as well as all subdirectories and files stored in them, must use only the OpenVMS-supported symbols (ASCII, national code-pages are currently not supported). VSI recommends naming all storage emulation directories DKAn or DKCn.

A.2. Applications Included In the Current Release

The current version of VMS⁠/⁠XDE includes the following OpenVMS applications:

  • Base VSI OpenVMS operating system environment

  • The following compilers:

    • BASIC

    • BLISS

    • C

    • COBOL

    • C++

    • FORTRAN

    • MACRO32

    • PASCAL

    • X86ASM

  • Linker utility

  • Librarian utility

  • SDL translator utility

  • System Analyzer utility

  • Run-time libraries for included compilers and other system libraries, such as C RTL, LIB$RTL, etc.

  • The following layered products:

    • DECSET

    • DECFORMS

    • DECwindows

    • CURL

    • LDAP

    • SSL111

    • SSL3

    • GIT

    • GNV utilities set

    • VMSI18N

    • OPENSSH

A.3. Configuring DECwindows

Caution

DECwindows support is still under way. VSI tests were performed in a Windows environment using WSL2 and Ubuntu 20.04 with open-source VcXsrv used as the X server.

Using the DECwindows application with VMS⁠/⁠XDE requires additional setup to function properly.

  1. Configure an external X server that works via TCP/IP and correctly handles the IPv4 address 127.0.0.1 (localhost) on port 6000.

  2. Make sure that VMS⁠/⁠XDE is not running, then start the X server.

  3. Run VMS⁠/⁠XDE and execute the following DCL commands (or add them to your LOGIN.COM file):

    $ SET PROCESS/PRIVILEGES=CMEXEC
    $ SET DISPLAY/CREATE/TRANSPORT=TCPIP/NODE=127.0.0.1/SERVER=0
    $ DEFINE DECW$IGNORE_WORKSTATION "TRUE"
    $ @SYS$STARTUP:DECW$STARTUP.COM

    Note

    If you choose to add the commands to your LOGIN.COM, make sure to execute the file after editing it.

1

For more information on storage emulation directories, see Section A.1, ''Understanding Storage Emulation Directories''.