Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

GNV behavior and the DECC incantations

 
Bill Pedersen
Regular Advisor

GNV behavior and the DECC incantations

I am currently trying to get a porting project off square one and have been having issues with GNV. With all the different incantation from DECC feature logicals it gets a bit difficult to figure out the right mix.

An issue I am having currently is it appears that for the command line to function reasonably - things like "man ln" not breaking - I need to enable DECC$EFS_CASE_SPECIAL.

But, this does not provide any help for some issues with symbolic links and correct operation of mkdir. To get mkdir to function reasonably - in this case create a unix style directory name of aaa.dir which translated to aaa^.dir.DIR;1 I need DECC$POSIX_COMPLIANT_PATHNAMES defined a "2" or at least that is what I am using.

But DECC$POSIX_COMPLIANT_PATHNAMES disables DECC$EFS_CASE_SPECIAL. It also hides the "/dev/null/" special file, which then makes the configure script I am trying to get to run successfully as a "start" think that bash is "too old" since it can not find "/dev/null".

Any suggestions on the appropriate set of incantations?

This is on OpenVMS I64 V8.4 with V0400 update, TCPIP 5.7 ECO 2 and GNV 2.1.3.

Thanks,

Bill.
Bill Pedersen
CCSS - Computer Consulting System Services, LLC
26 REPLIES 26
H.Becker
Honored Contributor

Re: GNV behavior and the DECC incantations

To me it looks like you are using the GNV tools from DCL. That's not intended. To start the bash and to execute commands within bash you do not need to define any of the DECC feature logicals.
Bill Pedersen
Regular Advisor

Re: GNV behavior and the DECC incantations

No, Hans, I am using bash, invoked from DCL to enter the "GNV environment" so the commands are presented to bash/GNV.

GNV, like any other "C" program is dependent on the CRTL which is controlled by the DECC feature logicals. Its behavior is thus changed by the particular incantation of the DECC logicals.

Bill Pedersen
CCSS - Computer Consulting System Services, LLC
H.Becker
Honored Contributor

Re: GNV behavior and the DECC incantations

>>>
GNV, like any other "C" program is dependent on the CRTL which is controlled by the DECC feature logicals. Its behavior is thus changed by the particular incantation of the DECC logicals.
<<<

Right, but all the utilities and tools within GNV do not need to have DECC features enable by the user, aka defining logicals. That's all done with image initialization code. With GNV you have the sources, or? So you can have a look at the code, how this is done.
Hoff
Honored Contributor

Re: GNV behavior and the DECC incantations

I've posted up a reply to this question in the DECUServe PORTING_TO_VMS conference.

There's a third thread in c.o.v..
Bill Pedersen
Regular Advisor

Re: GNV behavior and the DECC incantations

Hans, with no logicials defined, other than those created during installs of products, GNV utilities such as man do not properly handle input such as "man ln" which should display the man page for ln.

If I define DECC$EFS_CASE_SPECIAL this utility works. From my observation this is necessary.

Without DECC$POSIX_COMPLIANT_FILENAMES set to "2" a command inside of GNV such as:

mkdir aa.dir

Does not create aa.dir but creates aa with directory properties and if fact creates aa.DIR on the disk. So that behavior is incorrect as you would expect on Unix or Linux to see a directory file "aa.dir".

So I do not understand you saying the utilities do not need the logicals. They call the CRTL. They depend on its functionality/features and they behave differently - sometimes in correctly without the various logicals. And of course the logicals are not necessarily compatible.

So, I am looking for some guidance here on the correct combination.

Hoff, yes, I realize that I have posted here, and COV and the SIG list. Not everyone looks everyplace. Some of us do.

I will review what folks have sent me.

Thanks,

Bill.
Bill Pedersen
CCSS - Computer Consulting System Services, LLC
Steven Schweda
Honored Contributor

Re: GNV behavior and the DECC incantations

I don't use GNV much, which may explain why I
seem to have only "DEC AXPVMS GNV V1.6-2"
installed on my (VMS V8.3) Alpha system, but
I don't have any of the exotic DECC$ feature
logical names defined, and "man ln" works
just fine for me.

alp $ sho log decc$*

(LNM$PROCESS_TABLE)

"DECC$FD_LOCKING" = "TRUE"

(LNM$JOB_82A17A40)

(LNM$GROUP_000050)

(LNM$SYSTEM_TABLE)

"DECC$CRTLMAP" = "SYS$SHARE:DECC$SHR_EV56"
"DECC$SHR" = "SYS$SHARE:DECC$SHR_EV56"

(LNM$SYSCLUSTER_TABLE)

(DECW$LOGICAL_NAMES)
alp $ bash
alp$ man ln
LN(1) FSF LN(1)

NAME
ln - make links between files

SYNOPSIS
[...]


I guess that I should get my GNV updated. I
hate missing out on all the fun.
Bill Pedersen
Regular Advisor

Re: GNV behavior and the DECC incantations

Well, join the fun...

LEEDS$ sho log decc*

(LNM$PROCESS_TABLE)

"DECC$FD_LOCKING" = "TRUE"

(LNM$JOB_896ACC80)

"DECC$ARGV_PARSE_STYLE" = "ENABLE"

(LNM$GROUP_000001)

(LNM$SYSTEM_TABLE)

"DECC$CRTLMAP" = "SYS$SHARE:DECC$SHR"
"DECC$SHR_AV" = "DECC$SHR"

(LNM$SYSCLUSTER_TABLE)

(DECW$LOGICAL_NAMES)
LEEDS$ bash
bash$ man ln
No manual entry for ln
Bill Pedersen
CCSS - Computer Consulting System Services, LLC
Hein van den Heuvel
Honored Contributor

Re: GNV behavior and the DECC incantations

>> bash$ man ln
>> No manual entry for ln

Bill, you seem to be implying that this 'man ln' failing is because issues with command line or file spec parsing. But maybe it is just imply trying to tell you there is no man page on your system for 'ln'.

I do not know gnv (yet) but maybe the manpages are an installation option?

Can yo (brute force 'find' or ls ) the files?
I dunno, maybe:
$ ls /usr/share/man/*/ln*
/usr/share/man/man1/ln.1.gz

Do any man pages work? apropos?
Are you using 'man' failing as an example of many failures or it this the only problem?

google will happily find only man pages, so if all you need is an explanation for the mann command then just http://linux.die.net/man/1/ln or comparable other place.

Is there something 'real' broken as well, and can you articulate that?

Cheers,
Hein



Bill Pedersen
Regular Advisor

Re: GNV behavior and the DECC incantations

Hein, the only thing I need to do is define DECC$EFS_CASE_SPECIAL then I get the man page. So, yes, the man page exists and is in the expected location.

Note, without the above logical if I do "man LN" it will eventually find the .gz file and ask it I want to display it:

LEEDS$ bash
bash$ man ln
No manual entry for ln
bash$ man LN
"/usr/share/man/cat1/LN.1.GZ" may be a binary file. See it anyway?

So man is running around trying to find the files based on its rules and directories it just does not like the situation where at present "case_special" is not defined, at least in "my case".

Bill.
Bill Pedersen
CCSS - Computer Consulting System Services, LLC