Craig A. Berry wrote:

On Apr 10, 2009, at 9:55 PM, John E. Malmberg wrote:

[Dropping some names off the distribution as similar information has been sent to them]
John E. Malmberg wrote:
Craig A. Berry wrote:

On Apr 10, 2009, at 4:20 PM, Michael G Schwern wrote:
GNV should not be assigning that logical name and later versions than the one they've got there don't. It should be safe just to deassign it.

$ @gnv$gnu:[lib]gnv_setup.com
$ show log bin
  "BIN" = "GNV$GNU:[BIN]" (LNM$PROCESS_TABLE)
$ deassign bin
$ sh log bin
%SHOW-S-NOTRAN, no translation for logical name BIN
I was not aware of a later version than what I put on Encompasserve. While I submitted the code to the maintainer for rebuilding the kit, I had not heard of any new releases.

Encompasserve.org is running GNV 2.1-2 + patches that have been submitted to HP. The GNV kit at the HP web site is still 2.1-2.

The version of GNV on Encompasserve puts the BIN logical in the process table instead of the system table as the HP version did at the time I installed it, so deassigning it to run Perl is the thing to do.

I just did a quick check. With out the logical name BIN defined there are a number of things that will not work. This is because with out that logical name, the CRTL redirects "/bin" to be "/SYS$SYSTEM"

Eisner may have the current version of GNV installed, but it does not appear to have the current version of the set-up command procedure. This is Eisner:

$ search gnv$gnu:[lib]gnv_setup.com bin
$! Add GNU:[BIN] to path if it's not already there.
$ call add_path dcl$path gnv$gnu:[bin]
$ call add_path vaxc$path gnv$gnu:[bin]
$! Some hacks: Logicals needed until the binaries in GNV can be fixed.
$if f$trnlnm("BIN") .eqs. ""
$   define bin gnv$gnu:[bin]
$ bash :== $gnv$gnu:[bin]bash

Here is one of my systems with GNV v2.1-2:

$ search DISK$ALPHASYS:[SYS0.SYSCOMMON.GNV.LIB]GNV_SETUP.COM bin
$! Add GNU:[BIN] to path if it's not already there.
$ call add_path dcl$path gnu:[bin]
$ call add_path vaxc$path gnu:[bin]
$ bash :== $gnu:[bin]bash

As you can see, there is no longer a logical named bin, nor is there a gnv$gnu logical. Nor, as I understand it, is there any reason to have those as it's all done by mount points now. On the other hand, I'm pretty sure you're the one who told me that, so maybe I'm missing something.

The mount points are only visible to C programs in a UNIX format when the DECC$POSIX_COMPLIANT_PATHNAMES option is active. This option can not be used for most C programs because RMS does not support translating logical names. Until that update to RMS is released either as an ECO or a new version of VMS, effectively the POSIX_COMPLIANT_PATHNAMES modes are not usable.

The mount point as installed by GNV 2.1-1 also are backwards of what they should be. It can cause an infinite loop in walking directories.

The installation on Encompasserve has also corrected this issue.

The GNV$GNU is a officially registered logical name for the GNV product.
It is a violation of long standing VMS standards to have a layered product define a logical name in the system table with out having a registered prefix.

The installation on Encompasserve also does not define SYS$POSIX_ROOT in the system table on GNV startup as it globally affects all programs. Instead sys$posix_root is now defined in the process table, which is also a hack. A patch has been submitted to HP to remove that requirement.

Removing the BIN and SYS$POSIX_ROOT logical name left behind by GNV_SETUP.COM will require relinking all the modules, which requires changing the link procedure.

I have not had the time to make those changes. My plan is to use the existing GNV tools to run build the current versions of the utilities and package them up in PCSI kits corresponding to how they are packaged on UNIX, so eventually the GNV PCSI kit will mainly be a master kit that installs the selected components.

Regards,
-John
wb8...@qsl.net
Personal Opinion Only

Reply via email to