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 http://gnv.sourceforge.net/downloads/bzip2.exe and http://gnv.sourceforge.net/downloads/tar.exe.

Define foreign commands at the DCL prompt:

    $bzip2=="$<bzip2 path>bzip2.exe"
    $tar=="$<tar path>tar.exe"
To use GNV, download the binaries for make, bash, and all the utilities from http://gnv.sourceforge.net/downloads/gnv.tar-bz2. Create a directory, we will call it GNV_INSTALL and unpack the binaries.
    $create/dir [.GNV_INSTALL]
    $set def [.GNV_INSTALL]
    $bzip2 -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.
 

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"