Showing posts with label openvms. Show all posts
Showing posts with label openvms. Show all posts

2012-12-14

Ingres: open source database engine for OpenVMS

I almost thought my search for an open source database engine that runs on OpenVMS was over! But alas...

Ingres is now available on OpenVMS Integrity

N.B. Includes download links, but the OpenVMS versions are 30-day evaluation and presumably not open source. There is a link to "community editions", none of which are for OpenVMS AFAICT. The source code is there, though, so if you really want it to run on OpenVMS, you can port it . . . uh-huh.



2012-05-05

OpenVMS: How to install from PCSI files

TRANSFERRED.

A lot of software for VMS comes in PCSI files. An uninitiated person (or a forgetful one like myself) might run into the following problem. You set out to install a software package. You navigate into a directory containing a software distribution in the form of a PCSI file(s), like this:

$ set default DKA200:[TCPIP_ALPHA056.KIT] 
$ dir
 
Directory DKA200:[TCPIP_ALPHA056.KIT] 

DEC-AXPVMS-TCPIP-V0506-9-1.PCSI$COMPRESSED;1 
DEC-AXPVMS-TCPIP-V0506-9-1.PCSI$COMPRESSED_ESW;1 

Total of 2 files. 
$ 

Now, you know that the install command is PRODUCT INSTALL "something-or-other", but what is the name of the software package, exactly? You're not quite sure. You try $ PRODUCT INSTALL DEC-AXPVMS-TCPIP but this fails. You may wrongly assume that the task is very difficult or complicated, and get discouraged, when in reality it is easy (as if often the case with VMS -- you just have to know what to type!).

Here, the thing to remember is that you don't need to know the name of the package at all. Just use a wildcard, like so: $ PRODUCT INSTALL *

If there is more than one package in the current directory, a menu will be displayed. Can't get any simpler than that.

2012-05-03

OpenVMS: Load hobbyist licenses (Alpha)

Now that you have your FreeAXP/Alpha booting VMS, you will need to load your hobbyist licenses.

The Alpha license PAKs come in an email, which has an attachment that can be run as a DCL script. One option would be to simply run this script on the Alpha. However, as a newbie hobbyist you may not be up to the challenge of moving (very long) DCL script from the email attachment over to VMS.

I go at this differently. The objective is a running VMS system, and not a running VMS system loaded with every conceivable software package. So, it's perfectly fine to load licenses on an "as-needed" basis.

First, having booted up your Alpha in the FreeAXP window, log in as "system" using the system password you gave during installation. (Helpfully, one login is allowed -- at the system console only -- even when VMS has no licenses loaded.) Then, in another window on the host computer, display the DCL file you received from the HP OpenVMS Hobbyist program. Find the stanza that says:

$ LICENSE REGISTER OPENVMS-ALPHA - 
/ISSUER=DEC - 
/AUTHORIZATION=HOBBYIST-VA-KEYXXXXX-XXXXXX - 
/PRODUCER=DEC - 
/UNITS=0 - 
/TERMINATION_DATE=2-MAY-2013 -
/ACTIVITY=CONSTANT=100 - 
/CHECKSUM=2-XXXX-XXXX-XXXX-XXXX

Now, just cut-and-paste these lines from the email attachment into the FreeAXP window where your Alpha is running VMS. The commands will run, even with the extra '$' signs. Be aware that the FreeAXP window is actually Putty, so to paste just right-click the mouse. Copying stuff and pasting it into Putty can be a somewhat delicate operation so you might want to practice first.

After that you should issue the command LICENSE LOAD OPENVMS-ALPHA. You should see the Alpha emit a satisfied cluck:

$ $ LICENSE REGISTER OPENVMS-ALPHA -
_$ /ISSUER=DEC -
_$ /AUTHORIZATION=HOBBYIST-VA-KEYXXXXX-XXXXXX -
_$ /PRODUCER=DEC -
_$ /UNITS=0 -
_$ /TERMINATION_DATE=2-MAY-2013 -
_$ /ACTIVITY=CONSTANT=100 -
_$ /CHECKSUM=2-XXXX-XXXX-XXXX-XXXX
$ license load openvms-alpha
%LICENSE-I-LOADED, DEC OPENVMS-ALPHA was successfully loaded with 0 units
$

Now, do the same with the OPENVMS-ALPHA-USER license PAK. At this point, you should be able to create a user and log in from a terminal.

2012-05-02

OpenVMS: Idle loop in FreeAXP

  • Get PersonalAlpha from www.stromasys.ch
  • Install it
  • Go to the PersonalAlpha directory under "Program Files"
  • Copy the file "idleloop.vdisk" into your FreeAXP directory
  • Set up FreeAXP so that the idleloop.vdisk image is DKA100:
  • Boot up VMS
  • Proceed as follows:
$ set default dka100:[000000]
$ dir

Directory DKA100:[000000]

000000.DIR;1        BACKUP.SYS;1        BADBLK.SYS;1        BADLOG.SYS;1
BITMAP.SYS;1        CONTIN.SYS;1        CORIMG.SYS;1        IDLE012.DIR;1
INDEXF.SYS;1        SECURITY.SYS;1      VOLSET.SYS;1

Total of 11 files.
$ set default [.idle012]
$ dir

Directory DKA100:[000000.IDLE012]

README.TXT;1        SRI-AXPVMS-IDLE-V0102--1.PCSI;1

Total of 2 files.
$ type readme.txt
Before installing idle one shoud make sure that for VMS version V6.2 up to V7.1-
2
 the PCSI kit VMS62TO71U2_PCSI has been installed.

$! Note that this doesn't work - you have to know the product's name (IDLE)
$ product install sri-axpvms-idle-v0102
%PCSI-E-S_INVNAM, invalid product name
%PCSIUI-E-ABORT, operation terminated due to an unrecoverable error condition
$! This works
$ product install idle
%PCSI-I-CANNOTVAL, cannot validate DKA100:[000000.IDLE012]SRI-AXPVMS-IDLE-V0102-
-1.PCSI;1
-PCSI-I-NOTSIGNED, product kit is not signed and therefore has no manifest file

The following product has been selected:
    SRI AXPVMS IDLE V1.2                   Layered Product

Do you want to continue? [YES]
Configuration phase starting ...

You will be asked to choose options, if any, for each selected product and for
any products that may be installed to satisfy software dependency requirements.

SRI AXPVMS IDLE V1.2: Idle cpu powersave driver V1.2 for OpenVMS Alpha.

    Copyright 1976, 2007 Software Resources International

    IDLE was produced by Software Resources International

* This product does not have any configuration options.

Execution phase starting ...

The following product will be installed to destination:
    SRI AXPVMS IDLE V1.2                   DISK$ALPHASYS:[VMS$COMMON.]

Portion done: 0%...10%...20%...80%...100%

The following product has been installed:
    SRI AXPVMS IDLE V1.2                   Layered Product
$

FreeAXP should start idling immediately.




OpenVMS: Install FreeAXP

This, hopefully, is the first step toward having OpenVMS running in FreeAXP.

  • First, get Windows running. Set it up to have at least 1 GB of memory and two cores. (896 MB and two cores minimum or it won't run.)
  • Second, download FreeAXP from this URL.
  • Third, run the installer.
  • Accept all the defaults. When it finishes, it will plunk you into "Virtual Alpha Configuration Utility".
  • Choose "File", "New configuration file" - now you can set up your new Alpha
  • Make sure to leave Main memory at 128M. If you need more memory, you will have to buy an Avanti license. (Avanti is the commercial form of FreeAXP.)
  • In order to boot and install VMS, you will need a disk drive and a CDROM drive
  • Create the disk drive by opening the "pci6-KZPAA" tab - add disk0.0 as an image file. Give it a name and choose "Known disk type" and choose a disk (I chose RZ73, more or less at random).
  • Click on the "play" icon. It will take some time to create the disk drive image file. Be patient.
Here's what this got me. A black Putty window opened, that said:
ff.fe.fd.fc.fb.fa.f9.f8.f7.
ERROR: ISA table corrupt!
Initializing table to defaults
type >>>init to use these changes
f6.f5.
ef.df.ee.ed.ec.f4.eb.ea.
TIMER_TPS environment variable invalid
Defaulting to 1mS per tick
e9.e8.e7.e6.....e5.
V7.0-9, built on Mar 18 1999 at 13:25:37
>>>
Hmmm. Don't know why the "ISA table" (whatever that is) is corrupt. Turns out this issue is covered in the FreeAXP User's Guide, section 7.7 FIRST LAUNCH MESSAGES. Briefly stated, it is to be expected. Here's the long version:
This behavior is similar to what happens on a real AlphaServer the first time it is powered on or when the CMOS battery is replaced. The Time Of Year (TOY) and NVRAM variables have not yet been initialized by the console firmware. Once the emulator has successfully booted to the console prompt and has then been shut down in a controlled fashion using the exit command, TOY and NVRAM information will be written to .toy and .nvr files. The next time the emulator boots, the required information will be extracted from these files and the above errors will not occur.
Anyway, I did init as suggested and then show device:
>>>init
ff.fe.fd.fc.fb.fa.f9.f8.f7.f6.f5.
ef.df.ee.ed.ec.f4.eb.ea.e9.e8.e7.e6.....e5.
V7.0-9, built on Mar 18 1999 at 13:25:37
>>>show device
dka0.0.0.6.0               DKA0                           RZ73  T366
dka100.1.0.6.0             DKA100                        RRD42  4.5d
dva0.0.0.0.1               DVA0
ewa0.0.0.11.0              EWA0              08-00-2B-DE-43-00
pka0.7.0.6.0               PKA0                  SCSI Bus ID 7
>>>
Now, DKA100 is the CDROM. So I'll try to boot from it.
>>>boot dka100
(boot dka100.1.0.6.0 -flags 0)
block 0 of dka100.1.0.6.0 is a valid boot block
reading 1226 blocks from dka100.1.0.6.0
bootstrap code read in
base = 1f2000, image_start = 0, image_bytes = 99400
initializing HWRPB at 2000
initializing page table at 1e4000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code



    OpenVMS (TM) Alpha Operating System, Version V8.3
    Š Copyright 1976-2006 Hewlett-Packard Development Company, L.P.


Please enter date and time (DD-MMM-YYYY  HH:MM)
Hmm. So far, so good!
Please enter date and time (DD-MMM-YYYY  HH:MM)  02-MAY-2012 11:22



    Installing required known files...

    Configuring devices...
%EWA0, Twisted-Pair mode set by console


    ****************************************************************

    You can install or upgrade the OpenVMS ALPHA operating system
    or you can install or upgrade layered products that are included
    on the OpenVMS ALPHA distribution media (CD/DVD).

    You can also execute DCL commands and procedures to perform
    "standalone" tasks, such as backing up the system disk.

    Please choose one of the following:

        1)  Upgrade, install or reconfigure OpenVMS ALPHA Version V8.3
        2)  Display layered products that this procedure can install
        3)  Install or upgrade layered products
        4)  Show installed products
        5)  Reconfigure installed products
        6)  Remove installed products
        7)  Find, Install or Undo patches; Show or Delete Recovery Data
        8)  Execute DCL commands and procedures
        9)  Shut down this system

Enter CHOICE or ? for help: (1/2/3/4/5/6/7/8/9/?)

Voila!

Installing VMS is of course beyond the scope of this entry. But you can just have at it - why not?

2012-05-01

OpenVMS: Install C compiler

Taken with kind permission from: The Book of Dead:[Systems].
Original is here.

This is assuming the OpenVMS Hobbyist CDROM is loaded in the CDROM drive, and that the CDROM drive is DUA3:

$ mount/over=id dua3:
%MOUNT-I-WRITELOCK, volume is write locked
%MOUNT-I-MOUNTED, VAXVMS073 mounted on _EYE0$DUA3:
$ set def dua3:[000000]
$ dir

Directory DUA3:[000000]

000000.DIR;1        BACKUP.SYS;1        BADBLK.SYS;1        BADLOG.SYS;1
BASIC039.DIR;1      BITMAP.SYS;1        CC064.DIR;1         CONTIN.SYS;1
CORIMG.SYS;1        DCE_VAX030.DIR;1    DCPSVAX021.DIR;1    DECNET_PHASE_IV_VAX073.DIR;1
DECNET_PLUS_VAX073.DIR;1                DECSET124.DIR;1     DECW073.C;1
DECW073.D;1         DECW073.E;1         DECW073.F;1         DOCUMENTATION.DIR;1
DTRA072A2.DIR;1     DWMOTIF_VAX125.DIR;1                    DWMOTIF_VAX126.DIR;1
FORT066.DIR;1       HELP_MESSAGE.DIR;1  INDEXF.SYS;1        ISL_SCRIPT.ESS;1
KERBEROS_VAX010.DIR;1                   KITS.DIR;1          PASCAL058.DIR;1
SECURITY.SYS;1      SYS0.DIR;1          SYS1.DIR;1          TCPIP_VAX051.DIR;1
VAX073.DIR;1        VMS073.A;1          VMS073.B;1          VMS073.C;1
VMS073.D;1          VMS073.E;1          VMS073.F;1          VMSI18N_VAX073.DIR;1
VOLSET.SYS;1

Total of 42 files.
$  dir [.cc064]*.*;*

Directory DUA3:[000000.CC064]

DOCUMENTATION.DIR;1 KIT.DIR;1

Total of 2 files.
$  dir [.cc064.kit]*.*;*

Directory DUA3:[000000.CC064.KIT]

AACRT060.A;1        CC064.A;1           CC064.B;1

Total of 3 files.
$ @sys$update:vmsinstal

        OpenVMS VAX Software Product Installation Procedure V7.3

It is 26-APR-2010 at 10:44.

Enter a question mark (?) at any time for help.

%VMSINSTAL-W-ACTIVE, The following processes are still active:
        TCPIP$FTP_1
* Do you want to continue anyway [NO]? YES
* Are you satisfied with the backup of your system disk [YES]?
* Where will the distribution volumes be mounted: DUA3:[CC064.KIT]

Enter the products to be processed from the first distribution volume set.
* Products: CC064
* Enter installation options you wish to use (none):

The following products will be processed:

  CC V6.4

        Beginning installation of CC V6.4 at 10:44

[...]

* Does this product have an authorization key registered and loaded? NO
%CC-I-NOLICENSE, DEC C Version 6.4 Product Authorization Key (PAK) is not registered and loaded.
%CC-I-NOLICENSE2, The IVP cannot be run without the PAK.

    HTML, postscript and text versions of the Compaq C Users Guide,
    Language Reference Manual and RTL Reference Manual may be optionally
    installed into SYS$COMMON:[SYSHLP.CC$VAX_HELP_064].
    These documents consume approximately 40000 blocks.

* Should these manuals be provided [NO]: YES

    This kit contains a file summarizing the new features, changes,
    restrictions, and compatibility issues in this release of Compaq C.
    This file is named CC064.RELEASE_NOTES and has been placed in
    sys$common:[syshlp.cc$vax_help064]

    This file contains information valuable to Compaq C programmers.
    Please inform your user community of this file's existence.

    VAX C is not installed on the system.  Should you install VAX C at
    some future time, you must reinstall Compaq C to provide a command line
    definition for the CC command that can can invoke either product.

* Do you want to purge files replaced by this installation [YES]?

All questions have been answered. The installation will take a few minutes.

        The C Runtime Library headers and Starlet headers are installed as
        a Text Library (.TLB).  The traditional text form  of the headers
        (.H files) is also provided (for  reference  purposes only) in
        the directories: SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF] and
        SYS$COMMON:[DECC$LIB.REFERENCE.SYS$STARLET_C].

        Please note that the compiler does not search the reference areas
        SYS$COMMON:[DECC$LIB.REFERENCE.DECC$RTLDEF] and
        SYS$COMMON:[DECC$LIB.REFERENCE.SYS$STARLET_C] during compilation.
        Instead headers are taken from the text library.

%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[DECC$LIB].
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[DECC$LIB.REFERENCE].
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[DECC$LIB.REFERENCE.DECC$RTLDEF].
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[DECC$LIB.REFERENCE.SYS$STARLET_C].
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[DECC$LIB.INCLUDE.DECC$RTLDEF].
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSHLP.EXAMPLES.CRTL].
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[DECC$LIB.INCLUDE.SYS$STARLET_C].

    Please add SYS$STARTUP:CCXX$STARTUP.COM to the system startup
    procedure called SYS$STARTUP:SYSTARTUP_xxx.

    To use Compaq C for OpenVMS VAX on other VAX nodes of a VMScluster
    enter the command "$ @SYS$STARTUP:CCXX$STARTUP.COM" from a privileged
    account on each such node.  This will install Compaq C images and define
    "DECC$*" system-wide logical names.

%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSHLP.CC$VAX_HELP_064].
%VMSINSTAL-I-RESTORE, Restoring product save set B ...

    Your OpenVMS system will now be modified to include the
    following new and modified files:

    [SYSEXE]DECC$COMPILER.EXE             [new]
    [SYSMSG]DECC$MSG_SHR.EXE              [new]
    [SYSHLP]HELPLIB.HLP                   [modified]
    [SYSHLP.CC$VAX_HELP_064]*.*           [new]
    [SYSHLP]CC064.RELEASE_NOTES           [new]
    [SYSLIB]DCLTABLES.EXE                 [modified]
    [SYSLIB]DECC$RTLDEF.TLB               [new]
    [DECC$LIB.REFERENCE.SYS$STARLET_C]*.H [new]
    [DECC$LIB.REFERENCE.DECC$RTLDEF]*.H   [new]
    [SYSLIB]DECC$OLB.EXE                  [new]
    [SYSLIB]DECC$OLB.README               [new]
    [SYSLIB]DECC$OLB.OLB                  [new]
    [SYS$STARTUP]CCXX$STARTUP.COM         [modified]
    [SYSEXE]CXX$DEMANGLE.EXE              [new]
    [SYSMSG]CXX$LINK_MSG.EXE              [new]
    [SYSEXE]DECC$SET_VERSIONS.COM         [new]
    [SYSEXE]DECC$SHOW_VERSIONS.COM        [new]
    [SYSTEST]DECC$IVP.COM                 [modified]

    The file SYS$STARTUP:CCXX$STARTUP.COM contains commands to be
    executed at system startup to allow for the best compilation
    performance.  You may want to invoke this command file from your
    system's site specific start up file.  This command file does not
    have to be invoked for correct operation of Compaq C.

%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories...

        Installation of CC V6.4 completed at 10:52

    Adding history entry in VMI$ROOT:[SYSUPD]VMSINSTAL.HISTORY

Enter the products to be processed from the next distribution volume set.
* Products:

        VMSINSTAL procedure done at 10:54

You could alse invoke the installer with:

$ @sys$update:vmsinstal cc064 dua3:[cc064.kit]

Register your Hobbyist License for C (from PAK):

$ LICENSE REGISTER C -
_$ /ISSUER=OPENVMS_HOBBYIST -
_$ /AUTHORIZATION=DECUS-DEC-XXXXXX-XXXXXXX -
_$ /PRODUCER=DEC -
_$ /UNITS=0 -
_$ /TERMINATION_DATE=3-MAR-2011  -
_$ /ACTIVITY=CONSTANT=100 -
_$ /CHECKSUM=X-XXXX-XXXX-XXXX-XXXX
$ LIC LIST
Press Ctrl/Z to exit, use arrow keys to scroll.
 License Management Facility  V1.2

 License Database File:       SYS$COMMON:[SYSEXE]LMF$LICENSE.LDB;1
 Created on:                  15-MAR-2010
 Created by user:             SYSTEM
 Created by LMF Version:      V1.2

 -----------------------------------
 C                            DEC
 UCX                          DEC
 VAX-VMS                      DEC
 [End Of List]

And finally as it has been requested by installator, invoke the startup script (from a privileged account).

$ dir SYS$STARTUP:CCXX$STARTUP.COM

Directory SYS$COMMON:[SYS$STARTUP]

CCXX$STARTUP.COM;1

Total of 1 file.
$ @SYS$STARTUP:CCXX$STARTUP
$ set proc/priv=all
$ lic load c
%LICENSE-I-LOADED, DEC C was successfully loaded with 0 units

Add the permanent invocation to SYS$STARTUP:SYSTARTUP_VMS.COM :

$!
$! Compaq C for OpenVMS VAX
$ @SYS$STARTUP:CCXX$STARTUP.COM
$!

Quick test:
$ type hello.c
#include 

main ()
{
  printf("Hello, OpenVMS.\n");
}
$ cc hello
$ link hello
$ r hello
Hello OpenVMS.
$