GNV

GNU's Not VMS!

Links:

Home Page

Getting Started and Installing GNV

Building GNV

GNV Change History

Download

Mailing Lists:

gnv-help for help setting up and using GNV

gnv-develop for developers of GNV

gnv-announce for annoucements of new versions and updates

GNV is a GNU based project, delivering a Unix-like environment for OpenVMS. It is intended to provide the important subset of Unix/Linux/POSIX necessary to port UNIX OpenSource software to OpenVMS.

Getting Started

The current GNV kit (V1.6-2) works with OpenVMS Alpha V7.3-2 and FT 8.2. It has not been tested on earlier versions. It also works with OpenVMS for Integrity Servers (Intel IPF, Itanium Family), FT 8.2. Earlier versions of GNV are also known to run on older versions of OpenVMS Alphha at least as far back as V7.2-2, if the latest CRTL ECO kit is installed.  However, the current kit includes many files with Unix-style filenames.  E.G. those with multiple dots, and lowercase characters.  These files will only work on an ODS-5 disk.  Thus, this GNV kit must be installed on an ODS-5 disk. If your system disk is not ODS-5, then you may install GNV on to an alternate disk which is ODS-5. Generally, its also preferable to use GNV on an ODS-5 data (user) disk. 

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 to install the latest ECO to the CRTL. These are available from http://ftp.support.compaq.com/patches/.new/openvms.shtml. GNV runs best on ODS-5 disks.  Given an ODS-5 disk, GNV supports files with Unix style filenames, including uppercase, lowercase and mixed case filenames, and also including files with most characters in the ISO LATIN-1 character set, as documented in the OpenVMS User's Manual, section on Extended File Specifications. GNV also works correctly on ODS-2 disks, but does not support mixed case filenames and the addtional characters implemented in IOS LATIN-1.

Installing GNV

The latest GNV kit for both Alpha and Integrity (IA64) is available.  These files are available from:

https://sourceforge.net/project/showfiles.php?group_id=2506

Choose the latest kit for GNV – Alpha or I64. Some web browsers attempt to display this file. Use RIGHT-CLICK to download it (Save Target As...)

Then from the SYSTEM account, or from a suitably privileged account install GNV as follows:

$ PRODUCT INSTALL GNV /SOURCE=dev:[dir]

Where dev:[dir] points to the directory where you copied the kit.

This installation procedure will install both the GNV binary kit, and optionally, the source kit.  These are located in SYS$COMMON:[GNV].  A startup file is placed in:

SYS$STARUP:GNV$STARTUP.COM

This file should be executed at system startup, by editing SYS$MANAGER:SYSTARTUP_VMS.COM.  Among other things, this file will define the logical GNU to point to SYS$COMMON:[GNV].

Another file is placed in:

    GNU:[LIB]GNV_SETUP.COM

This file should be invoked by the LOGIN.COM file of each user intending to use GNV.  You may want to edit SYS$MANAGER:SYLOGIN.COM to invoke this file.  This will ensure that it is run for all users.

For information on installing GNV to a disk other than the system disk, please refer to the GNVREADME_FIRST.TXT file located with the kit.

Installing older GNV kits (including VAX):

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"
 


 

This project is hosted on .