GNV - GNU's Not VMS!

GNV is an open source, GNU based, Unix environment for VMS. It is intended to provide the important subset of Unix/Linux/POSIX necessary to port UNIX software to VMS. See gnv.sourceforge.net for up to date information.
 

Getting Started

GNV relies heavily on the C Run Time Library. The better the CRTL is, the better GNV will function. For that reason, it is best do install the latest CRTL which is available from http://ftp.support.compaq.com/patches/.new/openvms.shtml. If you do not wish to install a newer CRTL or you have a Beta CRTL, GNV can use an non-installed alternate CRTL. See the advanced step section.

Installing GNV

The distribution is packaged using BZIP2 compression and TAR. You can download these from:

For Alpha:

   http://gnv.sourceforge.net/downloads/alpha/bzip2.exe
   http://gnv.sourceforge.net/downloads/alpha/tar.exe.

For Vax:

   http://gnv.sourceforge.net/downloads/vax/bzip2.exe
   http://gnv.sourceforge.net/downloads/vax/tar.exe.
 

Define foreign commands at the DCL prompt (do not use symbol bzip or bzip2 since the program uses these for something else):

    $bz=="$<bzip2 path>bzip2.exe"

    $tar=="$<tar path>tar.exe"
To use GNV, download the binaries for all the utilities from:

For Alpha:  http://gnv.sourceforge.net/downloads/alpha/gnv.tar-bz2.

For Vax:     http://gnv.sourceforge.net/downloads/vax/gnv.tar-bz2.

Create a directory, we will call it GNV_INSTALL and unpack the binaries.

    $create/dir [.GNV_INSTALL]

    $set def [.GNV_INSTALL]

    $bz -d gnv.tar-bz2

    $tar -xvf gnv.tar
    $@[.gnv]setup.com

    $bash



    bash$ ls /gnu/bin

    ar.exe        chmod.exe     gzip.exe      rm.exe        tail.exe

    as.exe        cp.exe        install.exe   rmdir.exe     tar.exe

    basename.exe  diff.exe      ls.exe        sed.exe       touch.exe

    bash.exe      egrep.exe     make.exe      set_exe.com   tr.exe

    bzip2.exe     expr.exe      mkdir.exe     sh.exe        uname.exe

    cat.exe       gawk.exe      mv.exe        sleep.exe     wc.exe

    cc.exe        grep.exe      objdump.exe   stat.exe



    bash$ ls /gnu/lib

    decc$shr.exe 



    bash$ echo "Welcome to the wonderful world of GNU on VMS" 

    Welcome to the wonderful world of GNU on VMS


GNV is now installed and ready to go. The rest of this page deals with advanced configuration and trouble shooting. You can skip it if you are not interested.

Note: The VAX implementation of BASH cannot be used interactively, it can be used to invoke a script (bash <script>) or a single command (bash -c "<command>"). If you can figure out why it is broken, please contact us.
 

Advanced Setup

Now look at setup.com. Setup.com defines the GNU logical to be the same directory that the setup.com procedure is found. It also defines some logicals that change the behavior of the CRTL. These are necessary to get the CRTL to behave as it would on a Unix system. Furture versions of the CRTL will eliminate the need for these logicals. Stay tuned.

It can also be used to make GNV use an alternate CRTL. This is done by copying that CRTL into gnu:[lib] as decc$shr_<version>.exe where <version> is the OS version without the period. Then do:

    $@[.gnv]setup "BETACRTL"