Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"If you are afraid of loneliness, don't marry." -- Chekhov


computers / comp.os.vms / Best DECC$ logical name settings for UNIX compat.

SubjectAuthor
* Best DECC$ logical name settings for UNIX compat.Jake Hamby (Solid State Jake)
`* Re: Best DECC$ logical name settings for UNIX compat.John Reagan
 `* Re: Best DECC$ logical name settings for UNIX compat.Jake Hamby (Solid State Jake)
  `* Re: Best DECC$ logical name settings for UNIX compat.Craig A. Berry
   +* Re: Best DECC$ logical name settings for UNIX compat.John Reagan
   |`* Re: Best DECC$ logical name settings for UNIX compat.John Reagan
   | `* Re: Best DECC$ logical name settings for UNIX compat.Simon Clubley
   |  `- Re: Best DECC$ logical name settings for UNIX compat.bill
   +* Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   |+* Re: Best DECC$ logical name settings for UNIX compat.Simon Clubley
   ||`* Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || +* Re: Best DECC$ logical name settings for UNIX compat.Jake Hamby (Solid State Jake)
   || |`- Re: Best DECC$ logical name settings for UNIX compat.Craig A. Berry
   || +* Re: Best DECC$ logical name settings for UNIX compat.Dave Froble
   || |`* Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || | `* Re: Best DECC$ logical name settings for UNIX compat.Dave Froble
   || |  `* Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || |   `* Re: Best DECC$ logical name settings for UNIX compat.Dave Froble
   || |    +* Re: Best DECC$ logical name settings for UNIX compat.Jan-Erik Söderholm
   || |    |`- Re: Best DECC$ logical name settings for UNIX compat.Dave Froble
   || |    `- Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || +* Re: Best DECC$ logical name settings for UNIX compat.hb@end.of.inter.net
   || |`* Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || | `* Re: Best DECC$ logical name settings for UNIX compat.hb@end.of.inter.net
   || |  `* Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || |   `* Re: Best DECC$ logical name settings for UNIX compat.hb@end.of.inter.net
   || |    +- Re: Best DECC$ logical name settings for UNIX compat.hb@end.of.inter.net
   || |    `* Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || |     +- Re: Best DECC$ logical name settings for UNIX compat.Stephen Hoffman
   || |     `* Re: Best DECC$ logical name settings for UNIX compat.Jake Hamby (Solid State Jake)
   || |      +- Re: Best DECC$ logical name settings for UNIX compat.Arne Vajhøj
   || |      +* pipes and Perl and sys$sigprc (Re: Best DECC$ logical name settingsCraig A. Berry
   || |      |`* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameJake Hamby (Solid State Jake)
   || |      | `* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameVitaly Pustovetov
   || |      |  `* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameJake Hamby (Solid State Jake)
   || |      |   +* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameDavid Jones
   || |      |   |`* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameCraig A. Berry
   || |      |   | `- Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameVitaly Pustovetov
   || |      |   `* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameCraig A. Berry
   || |      |    `* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameJake Hamby (Solid State Jake)
   || |      |     `* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameCraig A. Berry
   || |      |      `* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameJake Hamby (Solid State Jake)
   || |      |       +* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameCraig A. Berry
   || |      |       |`- Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameJake Hamby (Solid State Jake)
   || |      |       `* Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameMark Berryman
   || |      |        +- Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameJake Hamby (Solid State Jake)
   || |      |        `- Re: pipes and Perl and sys$sigprc (Re: Best DECC$ logical nameCraig A. Berry
   || |      `- Re: Best DECC$ logical name settings for UNIX compat.Stephen Hoffman
   || `* Re: Best DECC$ logical name settings for UNIX compat.David Jones
   ||  `- Re: Best DECC$ logical name settings for UNIX compat.John Reagan
   |`- Re: Best DECC$ logical name settings for UNIX compat.Stephen Hoffman
   `- Re: Best DECC$ logical name settings for UNIX compat.Craig A. Berry

Pages:123
Best DECC$ logical name settings for UNIX compat.

<bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30560&group=comp.os.vms#30560

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:ac8:7410:0:b0:403:c1e5:e427 with SMTP id p16-20020ac87410000000b00403c1e5e427mr1851qtq.5.1697479395513;
Mon, 16 Oct 2023 11:03:15 -0700 (PDT)
X-Received: by 2002:a05:6871:554:b0:1e9:e963:61a2 with SMTP id
t20-20020a056871055400b001e9e96361a2mr3464195oal.3.1697479395303; Mon, 16 Oct
2023 11:03:15 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Mon, 16 Oct 2023 11:03:14 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:46b0:abc0:d4dc:66dd:1bfb:ecdf;
posting-account=OGFVHQoAAAASiNAamRQec8BtkuXxYFnQ
NNTP-Posting-Host: 2600:1700:46b0:abc0:d4dc:66dd:1bfb:ecdf
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
Subject: Best DECC$ logical name settings for UNIX compat.
From: jake.ha...@gmail.com (Jake Hamby (Solid State Jake))
Injection-Date: Mon, 16 Oct 2023 18:03:15 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Jake Hamby (Solid St - Mon, 16 Oct 2023 18:03 UTC

Here's my current set of DECC$ logicals for maximum UNIX compatibility.

$! Set VMS logicals for UNIX-like compatibility.
$ $ define/job DECC$UNIX_LEVEL "30"
$! This feature must be disabled for Clang.
$ define/job DECC$FILE_SHARING "DISABLE"
$! This feature must be disabled for Vim.
$ define/job DECC$FILENAME_UNIX_REPORT "DISABLE"
$ $ define/job DECC$ENABLE_GETENV_CACHE "ENABLE"
$ define/job DECC$ENABLE_TO_VMS_LOGNAME_CACHE "2"
$ define/job DECC$EXIT_AFTER_FAILED_EXEC "ENABLE"
$ define/job DECC$MAILBOX_CTX_STM "ENABLE"
$ define/job DECC$POPEN_NO_CRLF_REC_ATTR "ENABLE"
$ define/job DECC$STREAM_PIPE "ENABLE"
$ define/job DECC$EXEC_FILEATTR_INHERITANCE "2"
$ $ define/job DECC$ALLOW_REMOVE_OPEN_FILES "ENABLE"
$ define/job DECC$ACL_ACCESS_CHECK "ENABLE"

This is in addition to the defines in the OpenJDK setup script:

$ define DECC$ARGV_PARSE_STYLE "enable"
$ define DECC$EFS_CASE_PRESERVE "enable"
$ define DECC$EFS_CHARSET "enable"
$ define DECC$FD_LOCKING "true"
$ define DECC$READDIR_DROPDOTNOTYPE "enable"

I tried increasing DECC$PIPE_BUFFER_SIZE and DECC$PIPE_BUFFER_QUOTA, but that only made performance slightly worse. At DECC$UNIX_LEVEL = 10, DECC$PIPE_BUFFER_SIZE is increased from 512 to 4096 bytes, which may be close to optimal.

I also know from benchmarks that enabling DECC$STREAM_PIPE has a 2-3x speed increase for pipe(), but DECC$POPEN_NO_CRLF_REC_ATTR doesn't seem to matter (I added it for compatibility).

DECC$EXIT_AFTER_FAILED_EXEC is needed if the program expects a failed exec() in a vfork() child to return an error instead of exiting the child. Most of these C RTL settings should be defined at startup by ported programs themselves, as many of the GNV ports do.

I discovered that DECC$FILE_SHARING must be disabled for Clang to be able to write its output files, and DECC$FILENAME_UNIX_REPORT must be disabled for Vim to be able to read the files to edit (otherwise it reports file not found and opens an empty editor window). Those are enabled at DECC$UNIX_LEVEL 30 and 20, respectively.

I also know that DECC$READDIR_DROPDOTNOTYPE must be disabled for Perl's generated Descrip.MMS scripts to work, or else an extra "." is added at the end of the directory name when building a CPAN perl module and the build fails. That setting is also enabled at DECC$UNIX_LEVEL 20 (besides being enabled specifically by the OpenJDK script). I wonder if there are any other VMS programs or build scripts that need this to be disabled.

BTW, as I mentioned in an earlier post with PostMark results, setting DECC$POSIX_COMPLIANT_PATHNAMES to 2 leads to noticeably slower file open speeds than the standard VMS/UNIX hybrid pathname parsing, so I would suggest avoiding that feature.

Regards,
Jake Hamby

Re: Best DECC$ logical name settings for UNIX compat.

<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30563&group=comp.os.vms#30563

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:620a:66f:b0:774:2308:eeda with SMTP id a15-20020a05620a066f00b007742308eedamr13940qkh.7.1697504093165;
Mon, 16 Oct 2023 17:54:53 -0700 (PDT)
X-Received: by 2002:a05:6870:56a6:b0:1e9:b0e3:5486 with SMTP id
p38-20020a05687056a600b001e9b0e35486mr333012oao.9.1697504092867; Mon, 16 Oct
2023 17:54:52 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Mon, 16 Oct 2023 17:54:52 -0700 (PDT)
In-Reply-To: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=35.132.253.234; posting-account=M3IgSwoAAADJd6EnOmsrCCfB6_OyTOkv
NNTP-Posting-Host: 35.132.253.234
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
Subject: Re: Best DECC$ logical name settings for UNIX compat.
From: xyzzy1...@gmail.com (John Reagan)
Injection-Date: Tue, 17 Oct 2023 00:54:53 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5044
 by: John Reagan - Tue, 17 Oct 2023 00:54 UTC

On Monday, October 16, 2023 at 2:03:17 PM UTC-4, Jake Hamby (Solid State Jake) wrote:
> Here's my current set of DECC$ logicals for maximum UNIX compatibility.
>
> $! Set VMS logicals for UNIX-like compatibility.
> $
> $ define/job DECC$UNIX_LEVEL "30"
> $! This feature must be disabled for Clang.
> $ define/job DECC$FILE_SHARING "DISABLE"
> $! This feature must be disabled for Vim.
> $ define/job DECC$FILENAME_UNIX_REPORT "DISABLE"
> $
> $ define/job DECC$ENABLE_GETENV_CACHE "ENABLE"
> $ define/job DECC$ENABLE_TO_VMS_LOGNAME_CACHE "2"
> $ define/job DECC$EXIT_AFTER_FAILED_EXEC "ENABLE"
> $ define/job DECC$MAILBOX_CTX_STM "ENABLE"
> $ define/job DECC$POPEN_NO_CRLF_REC_ATTR "ENABLE"
> $ define/job DECC$STREAM_PIPE "ENABLE"
> $ define/job DECC$EXEC_FILEATTR_INHERITANCE "2"
> $
> $ define/job DECC$ALLOW_REMOVE_OPEN_FILES "ENABLE"
> $ define/job DECC$ACL_ACCESS_CHECK "ENABLE"
>
> This is in addition to the defines in the OpenJDK setup script:
>
> $ define DECC$ARGV_PARSE_STYLE "enable"
> $ define DECC$EFS_CASE_PRESERVE "enable"
> $ define DECC$EFS_CHARSET "enable"
> $ define DECC$FD_LOCKING "true"
> $ define DECC$READDIR_DROPDOTNOTYPE "enable"
>
> I tried increasing DECC$PIPE_BUFFER_SIZE and DECC$PIPE_BUFFER_QUOTA, but that only made performance slightly worse. At DECC$UNIX_LEVEL = 10, DECC$PIPE_BUFFER_SIZE is increased from 512 to 4096 bytes, which may be close to optimal.
>
> I also know from benchmarks that enabling DECC$STREAM_PIPE has a 2-3x speed increase for pipe(), but DECC$POPEN_NO_CRLF_REC_ATTR doesn't seem to matter (I added it for compatibility).
>
> DECC$EXIT_AFTER_FAILED_EXEC is needed if the program expects a failed exec() in a vfork() child to return an error instead of exiting the child. Most of these C RTL settings should be defined at startup by ported programs themselves, as many of the GNV ports do.
>
> I discovered that DECC$FILE_SHARING must be disabled for Clang to be able to write its output files, and DECC$FILENAME_UNIX_REPORT must be disabled for Vim to be able to read the files to edit (otherwise it reports file not found and opens an empty editor window). Those are enabled at DECC$UNIX_LEVEL 30 and 20, respectively.
>
> I also know that DECC$READDIR_DROPDOTNOTYPE must be disabled for Perl's generated Descrip.MMS scripts to work, or else an extra "." is added at the end of the directory name when building a CPAN perl module and the build fails. That setting is also enabled at DECC$UNIX_LEVEL 20 (besides being enabled specifically by the OpenJDK script). I wonder if there are any other VMS programs or build scripts that need this to be disabled.
>
> BTW, as I mentioned in an earlier post with PostMark results, setting DECC$POSIX_COMPLIANT_PATHNAMES to 2 leads to noticeably slower file open speeds than the standard VMS/UNIX hybrid pathname parsing, so I would suggest avoiding that feature.
>
> Regards,
> Jake Hamby
I never recommend setting any DECC$ feature logicals at the DCL command line. As you've seen, setting some of those logicals can break things like compilers. IIRC, setting PCP would break the Itanium C compiler. I always suggest to use a LIB$INITIALIZE routine and set the desired logicals in the program directly. I wasn't directly involved with the invention of the feature logicals, but I would walk by the C and CRTL teams and roll my eyes as often as I can. We don't test anything with non-default logicals.

That said, I do have somebody looking at why clang didn't like DECC$FILE_SHARING but it isn't high on our lists. This is one of those "Dr, it hurts when I do this" situations.

Re: Best DECC$ logical name settings for UNIX compat.

<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30570&group=comp.os.vms#30570

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:620a:1712:b0:76f:1450:226 with SMTP id az18-20020a05620a171200b0076f14500226mr86161qkb.10.1697597470167;
Tue, 17 Oct 2023 19:51:10 -0700 (PDT)
X-Received: by 2002:a05:6808:3717:b0:3ad:fd08:30a3 with SMTP id
cq23-20020a056808371700b003adfd0830a3mr1183852oib.11.1697597469937; Tue, 17
Oct 2023 19:51:09 -0700 (PDT)
Path: i2pn2.org!rocksolid2!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Tue, 17 Oct 2023 19:51:09 -0700 (PDT)
In-Reply-To: <16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:46b0:abc0:40f2:169b:14b5:7bf1;
posting-account=OGFVHQoAAAASiNAamRQec8BtkuXxYFnQ
NNTP-Posting-Host: 2600:1700:46b0:abc0:40f2:169b:14b5:7bf1
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com> <16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
Subject: Re: Best DECC$ logical name settings for UNIX compat.
From: jake.ha...@gmail.com (Jake Hamby (Solid State Jake))
Injection-Date: Wed, 18 Oct 2023 02:51:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3221
 by: Jake Hamby (Solid St - Wed, 18 Oct 2023 02:51 UTC

On Monday, October 16, 2023 at 5:54:55 PM UTC-7, John Reagan wrote:
>
> I never recommend setting any DECC$ feature logicals at the DCL command line. As you've seen, setting some of those logicals can break things like compilers. IIRC, setting PCP would break the Itanium C compiler. I always suggest to use a LIB$INITIALIZE routine and set the desired logicals in the program directly. I wasn't directly involved with the invention of the feature logicals, but I would walk by the C and CRTL teams and roll my eyes as often as I can. We don't test anything with non-default logicals.
>
> That said, I do have somebody looking at why clang didn't like DECC$FILE_SHARING but it isn't high on our lists. This is one of those "Dr, it hurts when I do this" situations.

That makes perfect sense. I've already discovered that enabling DECC$ENABLE_TO_VMS_LOGNAME_CACHE is highly unsafe, at least Java and probably others. I suspect the JVM is using a VMS filename conversion to test for the presence/absence of a file, and then when it gets deleted on disk, the cache is out of sync, and the program (Apache Spark benchmark) crashes with an object not found exception.

I have a very minimal set of DECC$ values that I've set before building/testing Perl, to see if they make any difference:

$! Set VMS logicals for UNIX-like compatibility.
$! Only sets features that are safe for Perl 5 build/run/test.
$ $! Start from UNIX level 10 (fewer features to remove).
$ $ define/job DECC$UNIX_LEVEL "10"
$ define/job DECC$FILENAME_UNIX_NO_VERSION "ENABLE"
$ define/job DECC$RENAME_NO_INHERIT "ENABLE"
$ $ define/job DECC$ENABLE_GETENV_CACHE "ENABLE"
$ define/job DECC$STREAM_PIPE "ENABLE"
$ define/job DECC$EXEC_FILEATTR_INHERITANCE "2"
$ $! Unset logical set by OpenJDK startup script
$ $ deassign/nolog DECC$READDIR_DROPDOTNOTYPE

Re: Best DECC$ logical name settings for UNIX compat.

<ugoghm$3kn0t$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30574&group=comp.os.vms#30574

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!news.niel.me!news.gegeweb.eu!gegeweb.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: craigbe...@nospam.mac.com (Craig A. Berry)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 06:45:56 -0500
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <ugoghm$3kn0t$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 18 Oct 2023 11:45:58 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="85a8eb2c986da13acba88eedc4c8959d";
logging-data="3824669"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/hUjxcqAxgfJKSoRxWi4NAx3zwH1ihREE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:0dwvcRA2gXizfpVb81uCayrd7xw=
In-Reply-To: <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
Content-Language: en-US
 by: Craig A. Berry - Wed, 18 Oct 2023 11:45 UTC

On 10/17/23 9:51 PM, Jake Hamby (Solid State Jake) wrote:
> On Monday, October 16, 2023 at 5:54:55 PM UTC-7, John Reagan wrote:
>>
>> I never recommend setting any DECC$ feature logicals at the DCL command line. As you've seen, setting some of those logicals can break things like compilers. IIRC, setting PCP would break the Itanium C compiler. I always suggest to use a LIB$INITIALIZE routine and set the desired logicals in the program directly. I wasn't directly involved with the invention of the feature logicals, but I would walk by the C and CRTL teams and roll my eyes as often as I can. We don't test anything with non-default logicals.
>>
>> That said, I do have somebody looking at why clang didn't like DECC$FILE_SHARING but it isn't high on our lists. This is one of those "Dr, it hurts when I do this" situations.
>
> That makes perfect sense. I've already discovered that enabling DECC$ENABLE_TO_VMS_LOGNAME_CACHE is highly unsafe, at least Java and probably others. I suspect the JVM is using a VMS filename conversion to test for the presence/absence of a file, and then when it gets deleted on disk, the cache is out of sync, and the program (Apache Spark benchmark) crashes with an object not found exception.
>
> I have a very minimal set of DECC$ values that I've set before building/testing Perl, to see if they make any difference:

>
> $! Set VMS logicals for UNIX-like compatibility.
> $! Only sets features that are safe for Perl 5 build/run/test.
> $
> $! Start from UNIX level 10 (fewer features to remove).

I've only ever used one of these "bucket" logicals when running a
configure script under GNV, and even then it was iffy whether it caused
more problems than it solved.

> $
> $ define/job DECC$UNIX_LEVEL "10"
> $ define/job DECC$FILENAME_UNIX_NO_VERSION "ENABLE"
> $ define/job DECC$RENAME_NO_INHERIT "ENABLE"
> $
> $ define/job DECC$ENABLE_GETENV_CACHE "ENABLE"
> $ define/job DECC$STREAM_PIPE "ENABLE"
> $ define/job DECC$EXEC_FILEATTR_INHERITANCE "2"
> $

It's not clear to me what problem you're trying to solve by setting all
these. None of them is necessary for Perl. You probably do want
DECC$ARGV_PARSE_STYLE since setting that in LIB$INITIALIZE is too late
and there are some things in the Perl test suite that assume a
case-preserved command line without quoting arguments.

I guess it's possible one or more of these things might be necessary for
clang++, though you have the head of the compiler team from VSI telling
you they don't use them.

> $! Unset logical set by OpenJDK startup script
> $
> $ deassign/nolog DECC$READDIR_DROPDOTNOTYPE

Re: Best DECC$ logical name settings for UNIX compat.

<99492e16-7ea1-4e71-8d71-d4e201dcec04n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30576&group=comp.os.vms#30576

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:620a:5314:b0:777:56f8:7bfd with SMTP id oo20-20020a05620a531400b0077756f87bfdmr96976qkn.12.1697635949485;
Wed, 18 Oct 2023 06:32:29 -0700 (PDT)
X-Received: by 2002:a4a:d1a7:0:b0:582:786:26dc with SMTP id
z7-20020a4ad1a7000000b00582078626dcmr234122oor.1.1697635949219; Wed, 18 Oct
2023 06:32:29 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Wed, 18 Oct 2023 06:32:28 -0700 (PDT)
In-Reply-To: <ugoghm$3kn0t$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=35.132.253.234; posting-account=M3IgSwoAAADJd6EnOmsrCCfB6_OyTOkv
NNTP-Posting-Host: 35.132.253.234
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com> <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <99492e16-7ea1-4e71-8d71-d4e201dcec04n@googlegroups.com>
Subject: Re: Best DECC$ logical name settings for UNIX compat.
From: xyzzy1...@gmail.com (John Reagan)
Injection-Date: Wed, 18 Oct 2023 13:32:29 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 69
 by: John Reagan - Wed, 18 Oct 2023 13:32 UTC

On Wednesday, October 18, 2023 at 7:46:02 AM UTC-4, Craig A. Berry wrote:
> On 10/17/23 9:51 PM, Jake Hamby (Solid State Jake) wrote:
> > On Monday, October 16, 2023 at 5:54:55 PM UTC-7, John Reagan wrote:
> >>
> >> I never recommend setting any DECC$ feature logicals at the DCL command line. As you've seen, setting some of those logicals can break things like compilers. IIRC, setting PCP would break the Itanium C compiler. I always suggest to use a LIB$INITIALIZE routine and set the desired logicals in the program directly. I wasn't directly involved with the invention of the feature logicals, but I would walk by the C and CRTL teams and roll my eyes as often as I can. We don't test anything with non-default logicals.
> >>
> >> That said, I do have somebody looking at why clang didn't like DECC$FILE_SHARING but it isn't high on our lists. This is one of those "Dr, it hurts when I do this" situations.
> >
> > That makes perfect sense. I've already discovered that enabling DECC$ENABLE_TO_VMS_LOGNAME_CACHE is highly unsafe, at least Java and probably others. I suspect the JVM is using a VMS filename conversion to test for the presence/absence of a file, and then when it gets deleted on disk, the cache is out of sync, and the program (Apache Spark benchmark) crashes with an object not found exception.
> >
> > I have a very minimal set of DECC$ values that I've set before building/testing Perl, to see if they make any difference:
>
> >
> > $! Set VMS logicals for UNIX-like compatibility.
> > $! Only sets features that are safe for Perl 5 build/run/test.
> > $
> > $! Start from UNIX level 10 (fewer features to remove).
> I've only ever used one of these "bucket" logicals when running a
> configure script under GNV, and even then it was iffy whether it caused
> more problems than it solved.
> > $
> > $ define/job DECC$UNIX_LEVEL "10"
> > $ define/job DECC$FILENAME_UNIX_NO_VERSION "ENABLE"
> > $ define/job DECC$RENAME_NO_INHERIT "ENABLE"
> > $
> > $ define/job DECC$ENABLE_GETENV_CACHE "ENABLE"
> > $ define/job DECC$STREAM_PIPE "ENABLE"
> > $ define/job DECC$EXEC_FILEATTR_INHERITANCE "2"
> > $
> It's not clear to me what problem you're trying to solve by setting all
> these. None of them is necessary for Perl. You probably do want
> DECC$ARGV_PARSE_STYLE since setting that in LIB$INITIALIZE is too late
> and there are some things in the Perl test suite that assume a
> case-preserved command line without quoting arguments.
>
> I guess it's possible one or more of these things might be necessary for
> clang++, though you have the head of the compiler team from VSI telling
> you they don't use them.
> > $! Unset logical set by OpenJDK startup script
> > $
> > $ deassign/nolog DECC$READDIR_DROPDOTNOTYPE
Yeah, when I build LLVM 3.4.2 on Itanium, I do set a minimal # of logicals in a subprocess
just before I invoke bash/make

$ set process /parse=extended
$ define/nolog DECC$ARGV_PARSE_STYLE ENABLE
$ define/nolog DECC$EFS_CASE_PRESERVE ENABLE
$ define/nolog DECC$EFS_CHARSET ENABLE
$ define/nolog DECC$ACL_ACCESS_CHECK ENABLE

Re: Best DECC$ logical name settings for UNIX compat.

<462763ce-e47d-4eb3-9bcd-326794fa1f4cn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30577&group=comp.os.vms#30577

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:ad4:588b:0:b0:66d:3b0:2ce7 with SMTP id dz11-20020ad4588b000000b0066d03b02ce7mr107281qvb.6.1697636086804;
Wed, 18 Oct 2023 06:34:46 -0700 (PDT)
X-Received: by 2002:a05:6870:638b:b0:1ea:48f2:e05 with SMTP id
t11-20020a056870638b00b001ea48f20e05mr2466308oap.11.1697636086581; Wed, 18
Oct 2023 06:34:46 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Wed, 18 Oct 2023 06:34:46 -0700 (PDT)
In-Reply-To: <99492e16-7ea1-4e71-8d71-d4e201dcec04n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=35.132.253.234; posting-account=M3IgSwoAAADJd6EnOmsrCCfB6_OyTOkv
NNTP-Posting-Host: 35.132.253.234
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com> <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <99492e16-7ea1-4e71-8d71-d4e201dcec04n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <462763ce-e47d-4eb3-9bcd-326794fa1f4cn@googlegroups.com>
Subject: Re: Best DECC$ logical name settings for UNIX compat.
From: xyzzy1...@gmail.com (John Reagan)
Injection-Date: Wed, 18 Oct 2023 13:34:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 75
 by: John Reagan - Wed, 18 Oct 2023 13:34 UTC

On Wednesday, October 18, 2023 at 9:32:31 AM UTC-4, John Reagan wrote:
> On Wednesday, October 18, 2023 at 7:46:02 AM UTC-4, Craig A. Berry wrote:
> > On 10/17/23 9:51 PM, Jake Hamby (Solid State Jake) wrote:
> > > On Monday, October 16, 2023 at 5:54:55 PM UTC-7, John Reagan wrote:
> > >>
> > >> I never recommend setting any DECC$ feature logicals at the DCL command line. As you've seen, setting some of those logicals can break things like compilers. IIRC, setting PCP would break the Itanium C compiler. I always suggest to use a LIB$INITIALIZE routine and set the desired logicals in the program directly. I wasn't directly involved with the invention of the feature logicals, but I would walk by the C and CRTL teams and roll my eyes as often as I can. We don't test anything with non-default logicals.
> > >>
> > >> That said, I do have somebody looking at why clang didn't like DECC$FILE_SHARING but it isn't high on our lists. This is one of those "Dr, it hurts when I do this" situations.
> > >
> > > That makes perfect sense. I've already discovered that enabling DECC$ENABLE_TO_VMS_LOGNAME_CACHE is highly unsafe, at least Java and probably others. I suspect the JVM is using a VMS filename conversion to test for the presence/absence of a file, and then when it gets deleted on disk, the cache is out of sync, and the program (Apache Spark benchmark) crashes with an object not found exception.
> > >
> > > I have a very minimal set of DECC$ values that I've set before building/testing Perl, to see if they make any difference:
> >
> > >
> > > $! Set VMS logicals for UNIX-like compatibility.
> > > $! Only sets features that are safe for Perl 5 build/run/test.
> > > $
> > > $! Start from UNIX level 10 (fewer features to remove).
> > I've only ever used one of these "bucket" logicals when running a
> > configure script under GNV, and even then it was iffy whether it caused
> > more problems than it solved.
> > > $
> > > $ define/job DECC$UNIX_LEVEL "10"
> > > $ define/job DECC$FILENAME_UNIX_NO_VERSION "ENABLE"
> > > $ define/job DECC$RENAME_NO_INHERIT "ENABLE"
> > > $
> > > $ define/job DECC$ENABLE_GETENV_CACHE "ENABLE"
> > > $ define/job DECC$STREAM_PIPE "ENABLE"
> > > $ define/job DECC$EXEC_FILEATTR_INHERITANCE "2"
> > > $
> > It's not clear to me what problem you're trying to solve by setting all
> > these. None of them is necessary for Perl. You probably do want
> > DECC$ARGV_PARSE_STYLE since setting that in LIB$INITIALIZE is too late
> > and there are some things in the Perl test suite that assume a
> > case-preserved command line without quoting arguments.
> >
> > I guess it's possible one or more of these things might be necessary for
> > clang++, though you have the head of the compiler team from VSI telling
> > you they don't use them.
> > > $! Unset logical set by OpenJDK startup script
> > > $
> > > $ deassign/nolog DECC$READDIR_DROPDOTNOTYPE
> Yeah, when I build LLVM 3.4.2 on Itanium, I do set a minimal # of logicals in a subprocess
> just before I invoke bash/make
>
> $ set process /parse=extended
> $ define/nolog DECC$ARGV_PARSE_STYLE ENABLE
> $ define/nolog DECC$EFS_CASE_PRESERVE ENABLE
> $ define/nolog DECC$EFS_CHARSET ENABLE
> $ define/nolog DECC$ACL_ACCESS_CHECK ENABLE
And if we are desperate, I can call one of the Black Magic Specialists from the other spam
posts flooding the newsgroup. Perhaps they can help?

Re: Best DECC$ logical name settings for UNIX compat.

<ugonni$3m8cp$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30578&group=comp.os.vms#30578

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 09:48:32 -0400
Organization: A noiseless patient Spider
Lines: 79
Message-ID: <ugonni$3m8cp$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 18 Oct 2023 13:48:34 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="84d47e0ae08b5bc06707cacaca74b78c";
logging-data="3875225"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19nrnoNuazX8U5h8S6gPHDxAeZgzaN/UUQ="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:A1uXCHy31z0/l5oASO4wPTKnU7Q=
In-Reply-To: <ugoghm$3kn0t$1@dont-email.me>
Content-Language: en-US
 by: Arne Vajhøj - Wed, 18 Oct 2023 13:48 UTC

On 10/18/2023 7:45 AM, Craig A. Berry wrote:
> On 10/17/23 9:51 PM, Jake Hamby (Solid State Jake) wrote:
>> On Monday, October 16, 2023 at 5:54:55 PM UTC-7, John Reagan wrote:
>>> I never recommend setting any DECC$ feature logicals at the DCL
>>> command line. As you've seen, setting some of those logicals can
>>> break things like compilers. IIRC, setting PCP would break the
>>> Itanium C compiler. I always suggest to use a LIB$INITIALIZE routine
>>> and set the desired logicals in the program directly. I wasn't
>>> directly involved with the invention of the feature logicals, but I
>>> would walk by the C and CRTL teams and roll my eyes as often as I
>>> can. We don't test anything with non-default logicals.
>>>
>>> That said, I do have somebody looking at why clang didn't like
>>> DECC$FILE_SHARING but it isn't high on our lists. This is one of
>>> those "Dr, it hurts when I do this" situations.
>>
>> That makes perfect sense. I've already discovered that enabling
>> DECC$ENABLE_TO_VMS_LOGNAME_CACHE is highly unsafe, at least Java and
>> probably others. I suspect the JVM is using a VMS filename conversion
>> to test for the presence/absence of a file, and then when it gets
>> deleted on disk, the cache is out of sync, and the program (Apache
>> Spark benchmark) crashes with an object not found exception.
>>
>> I have a very minimal set of DECC$ values that I've set before
>> building/testing Perl, to see if they make any difference:
>
>>
>> $! Set VMS logicals for UNIX-like compatibility.
>> $! Only sets features that are safe for Perl 5 build/run/test.
>> $
>> $! Start from UNIX level 10 (fewer features to remove).
>
> I've only ever used one of these "bucket" logicals when running a
> configure script under GNV, and even then it was iffy whether it caused
> more problems than it solved.
>
>> $
>> $ define/job DECC$UNIX_LEVEL "10"
>> $ define/job DECC$FILENAME_UNIX_NO_VERSION "ENABLE"
>> $ define/job DECC$RENAME_NO_INHERIT "ENABLE"
>> $
>> $ define/job DECC$ENABLE_GETENV_CACHE "ENABLE"
>> $ define/job DECC$STREAM_PIPE "ENABLE"
>> $ define/job DECC$EXEC_FILEATTR_INHERITANCE "2"
>> $
>
> It's not clear to me what problem you're trying to solve by setting all
> these.  None of them is necessary for Perl.  You probably do want
> DECC$ARGV_PARSE_STYLE since setting that in LIB$INITIALIZE is too late
> and there are some things in the Perl test suite that assume a
> case-preserved command line without quoting arguments.

I am also very cautious about these logicals.

I only add any when absolutely needed.

java$setup.com set a few - I *hope* that the VSI Java gurus
only set those logicals that do not create problems for
other applications.

I know that for sqlite JDBC usage I need:

$ define/nolog java$filename_controls 8
$ define/nolog decc$efs_charset true

Otherwise it does not work (in case anyone wonder -
type 2 JDBC driver with shareable image embedded
in jar needing extraction before load).

And when running Java code coming from *nix I sometime
have to set java$filename_match_list to get it to work, like:

$ define/nolog java$filename_match_list "*.jdb=shr=get,put"

That is it. And I play with a lot of stuff.

Arne

Re: Best DECC$ logical name settings for UNIX compat.

<ugp5mr$3pafl$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30581&group=comp.os.vms#30581

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: club...@remove_me.eisner.decus.org-Earth.UFP (Simon Clubley)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 17:47:08 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <ugp5mr$3pafl$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com> <16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com> <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com> <ugoghm$3kn0t$1@dont-email.me> <99492e16-7ea1-4e71-8d71-d4e201dcec04n@googlegroups.com> <462763ce-e47d-4eb3-9bcd-326794fa1f4cn@googlegroups.com>
Injection-Date: Wed, 18 Oct 2023 17:47:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="9ca0279e2d533dd11e9ef189ea06ca8c";
logging-data="3975669"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19waC+d6VI9CVRtnuuJNijzwcO1r2ynCLo="
User-Agent: slrn/0.9.8.1 (VMS/Multinet)
Cancel-Lock: sha1:eChe2m9jMYjeVdiAy2BsQcPnWv4=
 by: Simon Clubley - Wed, 18 Oct 2023 17:47 UTC

On 2023-10-18, John Reagan <xyzzy1959@gmail.com> wrote:
> And if we are desperate, I can call one of the Black Magic Specialists from the other spam
> posts flooding the newsgroup. Perhaps they can help?

Those messages are not showing up on Eternal September, but neither are
all of the messages from the regulars here, so I wonder if they are
also been marked as spam and removed.

I have seen those messages for the last few days when looking through
Google Groups however. Surely posting so many messages in such a short
time would actually be very counterproductive ? If they want people to
call them, I would have thought that posting at a much slower rate would
be more productive.

Simon.

--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.

Re: Best DECC$ logical name settings for UNIX compat.

<ugp6dg$3pafl$2@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30582&group=comp.os.vms#30582

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!news.nntp4.net!news.gegeweb.eu!gegeweb.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: club...@remove_me.eisner.decus.org-Earth.UFP (Simon Clubley)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 17:59:12 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <ugp6dg$3pafl$2@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com> <16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com> <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com> <ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 18 Oct 2023 17:59:12 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="9ca0279e2d533dd11e9ef189ea06ca8c";
logging-data="3975669"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+hrRJOfMtD2XfNaoCoa4MAfQ4kDAk2/Rw="
User-Agent: slrn/0.9.8.1 (VMS/Multinet)
Cancel-Lock: sha1:B1dgp9Sq4SHwWGkzWr8dw+5MGxo=
 by: Simon Clubley - Wed, 18 Oct 2023 17:59 UTC

On 2023-10-18, Arne Vajhøj <arne@vajhoej.dk> wrote:
>
> I am also very cautious about these logicals.
>
> I only add any when absolutely needed.
>

Those logicals seem like a major case of technical debt, in that each
were added to solve an immediate problem, but at the same time, their
addition caused extra work for people in the future.

I wonder if it is possible to reorganise them into easier to understand
and easier to use groups, as there's no way that Jake should have had
to go to the level of detail and effort he did to understand and use
them.

People say Jake should not have used many of them. My question is how
could he possibly have known that in advance until he had done the
work to understand what each of them did ? That's why I call them a
case of technical debt.

Simon.

--
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.

Re: Best DECC$ logical name settings for UNIX compat.

<ugp8aj$3pvvi$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30583&group=comp.os.vms#30583

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: craigbe...@nospam.mac.com (Craig A. Berry)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 13:31:47 -0500
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <ugp8aj$3pvvi$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me>
<4c63d4ed-fefb-430c-93e7-78c2d98ca55an@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 18 Oct 2023 18:31:47 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="02352c382022c8c5391c4bb019e865ab";
logging-data="3997682"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+HQsTWdjYAP9enfBQuIc1TJDDIPKcmrW0="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:hOvhUmvtQUpbnLIm7pdNES8QWn4=
In-Reply-To: <4c63d4ed-fefb-430c-93e7-78c2d98ca55an@googlegroups.com>
Content-Language: en-US
 by: Craig A. Berry - Wed, 18 Oct 2023 18:31 UTC

On 10/18/23 8:47 AM, hb@end.of.inter.net wrote:
> On Wednesday, October 18, 2023 at 1:46:02 PM UTC+2, Craig A. Berry wrote:
>> It's not clear to me what problem you're trying to solve by setting all
>> these. None of them is necessary for Perl. You probably do want
>> DECC$ARGV_PARSE_STYLE since setting that in LIB$INITIALIZE is too late
>> and there are some things in the Perl test suite that assume a
>> case-preserved command line without quoting arguments.
>
> A general statement that setting the DECC$ARGV_PARSE_STYLE feature in LIB$INITIALIZE is too late is wrong. For C applications, you can have a LIB$INITIALIZE in your main program and it works as expected. For C++ applications, you can have a LIB$INITIALIZE in an own shareable image, which is linked to your main program, and it works as expected.

Fair point. But the OP is using C++ and is building something that does
not have LIB$INITIALIZE in its own separate image (i.e, a different
image from the one main() is in, if I remember how this works).

Re: Best DECC$ logical name settings for UNIX compat.

<ugp8fd$3q2t8$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30584&group=comp.os.vms#30584

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 14:34:19 -0400
Organization: A noiseless patient Spider
Lines: 54
Message-ID: <ugp8fd$3q2t8$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 18 Oct 2023 18:34:21 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="84d47e0ae08b5bc06707cacaca74b78c";
logging-data="4000680"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/fK7DV6JaqOJvxPAfumw7G3vJszdvGPTs="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:4cTKp2697c0DeiXlY2qAY3FVqrk=
Content-Language: en-US
In-Reply-To: <ugp6dg$3pafl$2@dont-email.me>
 by: Arne Vajhøj - Wed, 18 Oct 2023 18:34 UTC

On 10/18/2023 1:59 PM, Simon Clubley wrote:
> On 2023-10-18, Arne Vajhøj <arne@vajhoej.dk> wrote:
>> I am also very cautious about these logicals.
>>
>> I only add any when absolutely needed.
>
> Those logicals seem like a major case of technical debt, in that each
> were added to solve an immediate problem, but at the same time, their
> addition caused extra work for people in the future.
>
> I wonder if it is possible to reorganise them into easier to understand
> and easier to use groups, as there's no way that Jake should have had
> to go to the level of detail and effort he did to understand and use
> them.
>
> People say Jake should not have used many of them. My question is how
> could he possibly have known that in advance until he had done the
> work to understand what each of them did ? That's why I call them a
> case of technical debt.

An application that original was developed on VMS does not need
any of that stuff. So if all VMS applications was original developed
on VMS then we would not have a problem.

But we live in the real world where a huge portion of "new stuff"
for VMS was original developed on *nix. And by *nix developers that
wrote code based on the wrong assumption that all future
usage of the code would be on an OS that behaved like
*nix regarding file name syntax, record format, case
sensitivity, charset etc..

So VMS has a problem - how to support both:
- applications developed on VMS
- application ported *nix that makes some nixy assumptions

This is a hard problem to solve.

Apparently logicals were the preferred way to handle that
in DEC/CPQ/HP a few decades ago.

I do not like the design due to logical having
typical process scope where the need really is for
application scope.

An obvious question is: are there a better solution.

I think it would be nice if such info could be stored
in P0 space, put in an EXE via link option and moved from
EXE to P0 space at image activation.

But I don't know enough to say whether that would really work.

Arne

Re: Best DECC$ logical name settings for UNIX compat.

<kpap90F25mU1@mid.individual.net>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30587&group=comp.os.vms#30587

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: bill.gun...@gmail.com (bill)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 15:16:48 -0400
Lines: 11
Message-ID: <kpap90F25mU1@mid.individual.net>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me>
<99492e16-7ea1-4e71-8d71-d4e201dcec04n@googlegroups.com>
<462763ce-e47d-4eb3-9bcd-326794fa1f4cn@googlegroups.com>
<ugp5mr$3pafl$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: individual.net QpTgOYB9p5VCqBYA9pDc0AJVzm/m26lW+LNejE6+hh1WZC99xv
Cancel-Lock: sha1:3dULQLyIVKzH6k5jZr9Dgi9ufik= sha256:T4CmkwDIq+TcgphY+9FtTQNe0TyNdsdiysBoO7Q2Klk=
User-Agent: Mozilla Thunderbird
Content-Language: en-US
In-Reply-To: <ugp5mr$3pafl$1@dont-email.me>
 by: bill - Wed, 18 Oct 2023 19:16 UTC

On 10/18/2023 1:47 PM, Simon Clubley wrote:
>
>
> I have seen those messages for the last few days when looking through
> Google Groups however.

I suppose you would being as that is where they are coming from.

bill

Re: Best DECC$ logical name settings for UNIX compat.

<554cdafd-85aa-48a3-a578-623fd1d7006fn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30591&group=comp.os.vms#30591

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:ac8:4703:0:b0:41b:aeda:d186 with SMTP id f3-20020ac84703000000b0041baedad186mr13106qtp.4.1697668456920;
Wed, 18 Oct 2023 15:34:16 -0700 (PDT)
X-Received: by 2002:a9d:3e5e:0:b0:6c4:c9dd:cfa6 with SMTP id
h30-20020a9d3e5e000000b006c4c9ddcfa6mr182404otg.0.1697668456644; Wed, 18 Oct
2023 15:34:16 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!1.us.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Wed, 18 Oct 2023 15:34:16 -0700 (PDT)
In-Reply-To: <ugp8fd$3q2t8$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:46b0:abc0:a511:c422:e117:4023;
posting-account=OGFVHQoAAAASiNAamRQec8BtkuXxYFnQ
NNTP-Posting-Host: 2600:1700:46b0:abc0:a511:c422:e117:4023
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com> <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <554cdafd-85aa-48a3-a578-623fd1d7006fn@googlegroups.com>
Subject: Re: Best DECC$ logical name settings for UNIX compat.
From: jake.ha...@gmail.com (Jake Hamby (Solid State Jake))
Injection-Date: Wed, 18 Oct 2023 22:34:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 7308
 by: Jake Hamby (Solid St - Wed, 18 Oct 2023 22:34 UTC

On Wednesday, October 18, 2023 at 11:34:25 AM UTC-7, Arne Vajhøj wrote:
> On 10/18/2023 1:59 PM, Simon Clubley wrote:
> > On 2023-10-18, Arne Vajhøj <ar...@vajhoej.dk> wrote:
> >> I am also very cautious about these logicals.
> >>
> >> I only add any when absolutely needed.
> >
> > Those logicals seem like a major case of technical debt, in that each
> > were added to solve an immediate problem, but at the same time, their
> > addition caused extra work for people in the future.
> >
> > I wonder if it is possible to reorganise them into easier to understand
> > and easier to use groups, as there's no way that Jake should have had
> > to go to the level of detail and effort he did to understand and use
> > them.
> >
> > People say Jake should not have used many of them. My question is how
> > could he possibly have known that in advance until he had done the
> > work to understand what each of them did ? That's why I call them a
> > case of technical debt.
> An application that original was developed on VMS does not need
> any of that stuff. So if all VMS applications was original developed
> on VMS then we would not have a problem.
>
> But we live in the real world where a huge portion of "new stuff"
> for VMS was original developed on *nix. And by *nix developers that
> wrote code based on the wrong assumption that all future
> usage of the code would be on an OS that behaved like
> *nix regarding file name syntax, record format, case
> sensitivity, charset etc..
>
> So VMS has a problem - how to support both:
> - applications developed on VMS
> - application ported *nix that makes some nixy assumptions
>
> This is a hard problem to solve.
>
> Apparently logicals were the preferred way to handle that
> in DEC/CPQ/HP a few decades ago.
>
> I do not like the design due to logical having
> typical process scope where the need really is for
> application scope.
>
> An obvious question is: are there a better solution.
>
> I think it would be nice if such info could be stored
> in P0 space, put in an EXE via link option and moved from
> EXE to P0 space at image activation.
>
> But I don't know enough to say whether that would really work.
>
> Arne

That's the challenging problem that I've been fascinated with. The VMS port of Perl is a valuable reference because it's kept up-to-date and has the most thoroughly documented UNIX and VMS filename handling in the Perl doc for the port:

https://perldoc.perl.org/perlvms

Logicals mentioned in the Perl port docs include:

- DECC$FILENAME_UNIX_REPORT (modifies behavior so e.g. "./.../" in a Unix path is now translated to "[.^.^.^.]" instead of the traditional VMS "[...]".
- DECC$FILENAME_UNIX_ONLY (expects filenames to already be in UNIX format; incompatible with Perl
- DECC$POSIX_COMPLIANT_PATHNAMES (new with the RMS Symbolic Link SDK and included with OpenVMS v8.3, but is not yet supported in Perl)
- DECC$EFS_CASE_PRESERVE (enabled by default)
- DECC$ARGV_PARSE_STYLE (enabled by default, requires process to have extended parsing enabled)

The replies in this thread have convinced me that the DECC$ settings enabled by OpenJDK may not even be safe to have in SYLOGIN .COM, so I've commented out the OpenJDK setup line from my sylogin .com, and added OpenJDK setup to my user login .com file.

CivetWeb has sometimes been dumping core, as has Samba, and I'm wondering if possibly having the OpenJDK setup script in my sylogin was part of the problem. I'll report on those issues separately when I have more info. In general, CivetWeb seemed to crash at startup, or under heavy load, on Itanium and now x86. I can make Samba crash at will by running "dbench" in WSL on a Windows client with the Samba drive mounted in Windows as a drive letter and then in WSL with "sudo mount -t drvfs Z: /mnt/z".

While I'm at it, Perl has a few other noteworthy features regarding logicals.

- GNV$UNIX_SHELL enables more UNIX-like handling if defined, e.g. PERL5LIB and PERLLIB will use ":" as a separator if defined, or "|" by default on VMS, and environment variables are checked in the C environ array first and then the VMS logical name tables instead of the other way around.

I've seen this tested for in other GNV programs, and it looks like a good hint whenever there are two possible flavors for handling a filename or files.

- PERL_VMS_EXCEPTION_DEBUG if defined as enabled ("In typical VMS style, only the first letter of the value of this logical name is actually checked in a case insensitive mode, and it is considered enabled if it is the value "T","1" or "E") will enter the VMS debugger if a fatal exception that's not otherwise handled is raised.
- PERL_VMS_POSIX_EXIT maps the handling of return values to be similar to how _POSIX_EXIT works in C/C++ programs.

It seems like the DECC$POSIX_COMPLIANT_PATHNAMES feature is basically an evolutionary dead end, since it seems to be both slower (based on PostMark) and less flexible. VMS symbolic link targets have to be given in UNIX format, but I don't think the Perl docs are correct about them having to be within the POSIX root, if you aren't using POSIX compliant pathnames. I discovered on accident that many files in SYS$COMMON:[SYSEXE] are now links to the V9.2-1 memory disk used for booting and crashes:

$ dir/siz sys$common:[sysexe]loginout.exe

Directory SYS$COMMON:[SYSEXE]

LOGINOUT.EXE;1 -> /SYS$MD23276063438B/VMS$COMMON/SYSEXE/LOGINOUT.EXE
0.50KB

Regards,
Jake Hamby

Re: Best DECC$ logical name settings for UNIX compat.

<ugpvma$3v8nc$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30593&group=comp.os.vms#30593

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: craigbe...@nospam.mac.com (Craig A. Berry)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Wed, 18 Oct 2023 20:10:32 -0500
Organization: A noiseless patient Spider
Lines: 79
Message-ID: <ugpvma$3v8nc$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<554cdafd-85aa-48a3-a578-623fd1d7006fn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 19 Oct 2023 01:10:34 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="e29ab95f8d91c9c90705f3c6e2077f36";
logging-data="4170476"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/j0bq5qjB2WqpA6CWW36MgFbXmtiDsWrQ="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:nqdsASZ1VemBTB+p8GQ6w5k8c8Q=
In-Reply-To: <554cdafd-85aa-48a3-a578-623fd1d7006fn@googlegroups.com>
Content-Language: en-US
 by: Craig A. Berry - Thu, 19 Oct 2023 01:10 UTC

On 10/18/23 5:34 PM, Jake Hamby (Solid State Jake) wrote:
> On Wednesday, October 18, 2023 at 11:34:25 AM UTC-7, Arne Vajhøj wrote:

>> This is a hard problem to solve.
>>
>> Apparently logicals were the preferred way to handle that
>> in DEC/CPQ/HP a few decades ago.
>>
>> I do not like the design due to logical having
>> typical process scope where the need really is for
>> application scope.

Would that really be different from user-mode logicals?

>> An obvious question is: are there a better solution.
>>
>> I think it would be nice if such info could be stored
>> in P0 space, put in an EXE via link option and moved from
>> EXE to P0 space at image activation.
>>
>> But I don't know enough to say whether that would really work.
>>
>> Arne
>

> That's the challenging problem that I've been fascinated with. The
> VMS port of Perl is a valuable reference because it's kept up-to-date and
> has the most thoroughly documented UNIX and VMS filename handling in the
> Perl doc for the port:
>
> https://perldoc.perl.org/perlvms

Up-to-date for some definition of up-to-date. It's been touched a
number of times in the last couple of decades, but I suspect there are
places that it still needs work.

> Logicals mentioned in the Perl port docs include:
>
> - DECC$FILENAME_UNIX_REPORT (modifies behavior so e.g. "./.../" in a Unix path is now translated to "[.^.^.^.]" instead of the traditional VMS "[...]".
> - DECC$FILENAME_UNIX_ONLY (expects filenames to already be in UNIX format; incompatible with Perl
> - DECC$POSIX_COMPLIANT_PATHNAMES (new with the RMS Symbolic Link SDK and included with OpenVMS v8.3, but is not yet supported in Perl)
> - DECC$EFS_CASE_PRESERVE (enabled by default)
> - DECC$ARGV_PARSE_STYLE (enabled by default, requires process to have extended parsing enabled)
>

> The replies in this thread have convinced me that the DECC$ settings
> enabled by OpenJDK may not even be safe to have in SYLOGIN .COM,

Ding! Ding! Ding!

Yeah, I used to run the JDK set-up in my personal login.com and then
delete one or two that I knew to be problematic. But now I'm unlikely
to assume that set-up is a good default, and the OpenJDK port doesn't
really need them anymore on x86 since I believe it now uses its own
LIB$INITIALIZE section.

<snip>

> It seems like the DECC$POSIX_COMPLIANT_PATHNAMES feature is basically an
> evolutionary dead end, since it seems to be both slower (based on
> PostMark) and less flexible. VMS symbolic link targets have to be given
> in UNIX format, but I don't think the Perl docs are correct about them
> having to be within the POSIX root, if you aren't using POSIX compliant
> pathnames. I discovered on accident that many files in
> SYS$COMMON:[SYSEXE] are now links to the V9.2-1 memory disk used for
> booting and crashes:

>
> $ dir/siz sys$common:[sysexe]loginout.exe
>
> Directory SYS$COMMON:[SYSEXE]
>
> LOGINOUT.EXE;1 -> /SYS$MD23276063438B/VMS$COMMON/SYSEXE/LOGINOUT.EXE
> 0.50KB

I think symlinks came in v8.3 and there were definitely changes and
fixes in v8.4. It would be unsurprising if the Perl docs did not
completely keep up with the changes.

Re: Best DECC$ logical name settings for UNIX compat.

<ugqd8g$5lif$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30598&group=comp.os.vms#30598

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Thu, 19 Oct 2023 01:03:09 -0400
Organization: A noiseless patient Spider
Lines: 66
Message-ID: <ugqd8g$5lif$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 19 Oct 2023 05:02:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4938c68b8766278a15b3e21954e89b8b";
logging-data="185935"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19La1iq/aB/cUzMXtA/ku3TD5rhFOHSqxg="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:XqrAsOXbz9RJ/qJvIjqv37FDpx8=
In-Reply-To: <ugp8fd$3q2t8$1@dont-email.me>
 by: Dave Froble - Thu, 19 Oct 2023 05:03 UTC

On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
> On 10/18/2023 1:59 PM, Simon Clubley wrote:
>> On 2023-10-18, Arne Vajhøj <arne@vajhoej.dk> wrote:
>>> I am also very cautious about these logicals.
>>>
>>> I only add any when absolutely needed.
>>
>> Those logicals seem like a major case of technical debt, in that each
>> were added to solve an immediate problem, but at the same time, their
>> addition caused extra work for people in the future.
>>
>> I wonder if it is possible to reorganise them into easier to understand
>> and easier to use groups, as there's no way that Jake should have had
>> to go to the level of detail and effort he did to understand and use
>> them.
>>
>> People say Jake should not have used many of them. My question is how
>> could he possibly have known that in advance until he had done the
>> work to understand what each of them did ? That's why I call them a
>> case of technical debt.
>
> An application that original was developed on VMS does not need
> any of that stuff. So if all VMS applications was original developed
> on VMS then we would not have a problem.
>
> But we live in the real world where a huge portion of "new stuff"
> for VMS was original developed on *nix. And by *nix developers that
> wrote code based on the wrong assumption that all future
> usage of the code would be on an OS that behaved like
> *nix regarding file name syntax, record format, case
> sensitivity, charset etc..
>
> So VMS has a problem - how to support both:
> - applications developed on VMS
> - application ported *nix that makes some nixy assumptions
>
> This is a hard problem to solve.
>
> Apparently logicals were the preferred way to handle that
> in DEC/CPQ/HP a few decades ago.
>
> I do not like the design due to logical having
> typical process scope where the need really is for
> application scope.
>
> An obvious question is: are there a better solution.
>
> I think it would be nice if such info could be stored
> in P0 space, put in an EXE via link option and moved from
> EXE to P0 space at image activation.
>
> But I don't know enough to say whether that would really work.
>
> Arne
>

Look at the Basic OPTION statement ...

It is two things, a compile time directive, and contained within the program.

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: Best DECC$ logical name settings for UNIX compat.

<76de2d16-f9f0-47cf-97af-99a81757692bn@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30600&group=comp.os.vms#30600

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a05:620a:28c3:b0:774:a95:99dc with SMTP id l3-20020a05620a28c300b007740a9599dcmr23745qkp.12.1697699599620;
Thu, 19 Oct 2023 00:13:19 -0700 (PDT)
X-Received: by 2002:a05:6808:202a:b0:3a9:a49f:d6b8 with SMTP id
q42-20020a056808202a00b003a9a49fd6b8mr505599oiw.0.1697699599405; Thu, 19 Oct
2023 00:13:19 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!npeer.as286.net!npeer-ng0.as286.net!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Thu, 19 Oct 2023 00:13:18 -0700 (PDT)
In-Reply-To: <ugp8fd$3q2t8$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:9e8:32e2:1000:b3c1:220d:39ad:bc4;
posting-account=U8VIbwoAAAD-oRYtqvRwM1yjdPKmKsbA
NNTP-Posting-Host: 2001:9e8:32e2:1000:b3c1:220d:39ad:bc4
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com> <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <76de2d16-f9f0-47cf-97af-99a81757692bn@googlegroups.com>
Subject: Re: Best DECC$ logical name settings for UNIX compat.
From: h47...@gmail.com (hb@end.of.inter.net)
Injection-Date: Thu, 19 Oct 2023 07:13:19 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4195
 by: hb@end.of.inter.net - Thu, 19 Oct 2023 07:13 UTC

On Wednesday, October 18, 2023 at 8:34:25 PM UTC+2, Arne Vajhøj wrote:
....
> Apparently logicals were the preferred way to handle that
> in DEC/CPQ/HP a few decades ago.
>
> I do not like the design due to logical having
> typical process scope where the need really is for
> application scope.
>
> An obvious question is: are there a better solution.

The C RTL features can be enabled with logical names or with calling C RTL feature routines. Some of the features need to be set before the C/C++ main function runs. When using C RTL routines that's where the LIB$INITIALIZE mechanism is needed. Obviously, using the C RTL routines is more work than enabling the features with a logical name. So using logical names for setting the features is often preferred over setting the feature in the program - writing code.

C RTL feature logical names should be set in user-mode in the process table.. Then they are only in effect for the next image activation. But I know that there are a lot of command procedures out there, which just define them in super-mode in the process table. There are even command procedures, which define them in other tables.

> I think it would be nice if such info could be stored
> in P0 space, put in an EXE via link option and moved from
> EXE to P0 space at image activation.

This suggests that the application should set the C RTL features. That is probably the recommended and best way how these features can/should be enabled today - but see above.

I don't understand how your suggestion is supposed to work. Do you want the C RTL to look up the feature somewhere in the main image, which is mapped into P0? This requires (code or) data in the image, no matter how you put it - at compile or link time and a mechanism to find it.

Your suggestion is not really different from what you have or can do today: for each feature, create object modules, which enable/disable it with the LIB$INITIALIZE mechanism. When linking your application,
add the necessary modules to your image. Or, for each feature, create one object module, which sets its value with a "globalvalue". And that needs to be set at link time. This approach will also work for features which require a size. All in all it is more work to build the application than defining a logical name (in a command procedure) before running the application. And it does not help with existing applications.

For existing applications, I can think of another approach, but that requires rewriting its (ELF) image.

Re: Best DECC$ logical name settings for UNIX compat.

<ugscda$k66b$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30628&group=comp.os.vms#30628

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Thu, 19 Oct 2023 18:59:54 -0400
Organization: A noiseless patient Spider
Lines: 47
Message-ID: <ugscda$k66b$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<ugqd8g$5lif$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 19 Oct 2023 22:59:54 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="84136aa36b1a841dfd54496eb540feda";
logging-data="661707"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/gzOZ3eq3JF0ZwxqgfCyAjyuW3Ne1WELA="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:YQOSzpSHl38LByjXhASm4m1NLw4=
In-Reply-To: <ugqd8g$5lif$1@dont-email.me>
Content-Language: en-US
 by: Arne Vajhøj - Thu, 19 Oct 2023 22:59 UTC

On 10/19/2023 1:03 AM, Dave Froble wrote:
> On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
>> An application that original was developed on VMS does not need
>> any of that stuff. So if all VMS applications was original developed
>> on VMS then we would not have a problem.
>>
>> But we live in the real world where  a huge portion of "new stuff"
>> for VMS was original developed on *nix. And by *nix developers that
>> wrote code based on the wrong assumption that all future
>> usage of the code would be on an OS that behaved like
>> *nix regarding file name syntax, record format, case
>> sensitivity, charset etc..
>>
>> So VMS has a problem - how to support both:
>> - applications developed on VMS
>> - application ported *nix that makes some nixy assumptions
>>
>> This is a hard problem to solve.
>>
>> Apparently logicals were the preferred way to handle that
>> in DEC/CPQ/HP a few decades ago.
>>
>> I do not like the design due to logical having
>> typical process scope where the need really is for
>> application scope.
>>
>> An obvious question is: are there a better solution.
>>
>> I think it would be nice if such info could be stored
>> in P0 space, put in an EXE via link option and moved from
>> EXE to P0 space at image activation.
>>
>> But I don't know enough to say whether that would really work.
>
> Look at the Basic OPTION statement ...
>
> It is two things, a compile time directive, and contained within the
> program.

That would mean changes to all compilers.

And I also think it is cleaner to have it outside
the source code.

Arne

Re: Best DECC$ logical name settings for UNIX compat.

<ugsd0q$k66b$2@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30629&group=comp.os.vms#30629

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!nntp.comgw.net!paganini.bofh.team!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Thu, 19 Oct 2023 19:10:18 -0400
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <ugsd0q$k66b$2@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<76de2d16-f9f0-47cf-97af-99a81757692bn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 19 Oct 2023 23:10:18 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="84136aa36b1a841dfd54496eb540feda";
logging-data="661707"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/SuRcRL5CSQTi2wtmyU+OVynNyW4RUQNI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:8FBX1B0FhE2PYQ3rqV0oJpR1QY0=
In-Reply-To: <76de2d16-f9f0-47cf-97af-99a81757692bn@googlegroups.com>
Content-Language: en-US
 by: Arne Vajhøj - Thu, 19 Oct 2023 23:10 UTC

On 10/19/2023 3:13 AM, hb@end.of.inter.net wrote:
> On Wednesday, October 18, 2023 at 8:34:25 PM UTC+2, Arne Vajhøj
> wrote:
>> I think it would be nice if such info could be stored in P0 space,
>> put in an EXE via link option and moved from EXE to P0 space at
>> image activation.
>
> This suggests that the application should set the C RTL features.
> That is probably the recommended and best way how these features
> can/should be enabled today - but see above.
>
> I don't understand how your suggestion is supposed to work. Do you
> want the C RTL to look up the feature somewhere in the main image,
> which is mapped into P0?

Yes. Just like it today lookup logicals.

> This requires (code or) data in the image,
> no matter how you put it - at compile or link time and a mechanism to
> find it.

Of course - it will not work by magic.

> Your suggestion is not really different from what you have or can do
> today: for each feature, create object modules, which enable/disable
> it with the LIB$INITIALIZE mechanism. When linking your application,
> add the necessary modules to your image. Or, for each feature, create
> one object module, which sets its value with a "globalvalue". And
> that needs to be set at link time.

That is functional equivalent of what I am suggesting.

But the LIB$INITIALIZE mechanism is a rather
complex mechanism.

Compared to:

$ LINK ... + SYS$INPUT/OPT
NIX_OPTIONS=(xxx,yyy,zzz)
$

or even simpler:

$ LINK/NIX_OPTIONS=(xxx,yyy,zzz) ...

I want something that we can tell developers moving
from nix to VMS to use and they can easily understand.

Process logicals are easy to understand but has the wrong scope.

Arne

Re: Best DECC$ logical name settings for UNIX compat.

<ugsibm$lohj$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30633&group=comp.os.vms#30633

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Thu, 19 Oct 2023 20:42:27 -0400
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <ugsibm$lohj$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<ugqd8g$5lif$1@dont-email.me> <ugscda$k66b$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 20 Oct 2023 00:41:26 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="863926d6420bafd6f0287bd84dbd4dc5";
logging-data="713267"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX181qbFHAZp11jaBYgthw7f7eZPMmcyHDcY="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:nev66fTsHt2nW6RjiwotIaTCK/o=
In-Reply-To: <ugscda$k66b$1@dont-email.me>
 by: Dave Froble - Fri, 20 Oct 2023 00:42 UTC

On 10/19/2023 6:59 PM, Arne Vajhøj wrote:
> On 10/19/2023 1:03 AM, Dave Froble wrote:
>> On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
>>> An application that original was developed on VMS does not need
>>> any of that stuff. So if all VMS applications was original developed
>>> on VMS then we would not have a problem.
>>>
>>> But we live in the real world where a huge portion of "new stuff"
>>> for VMS was original developed on *nix. And by *nix developers that
>>> wrote code based on the wrong assumption that all future
>>> usage of the code would be on an OS that behaved like
>>> *nix regarding file name syntax, record format, case
>>> sensitivity, charset etc..
>>>
>>> So VMS has a problem - how to support both:
>>> - applications developed on VMS
>>> - application ported *nix that makes some nixy assumptions
>>>
>>> This is a hard problem to solve.
>>>
>>> Apparently logicals were the preferred way to handle that
>>> in DEC/CPQ/HP a few decades ago.
>>>
>>> I do not like the design due to logical having
>>> typical process scope where the need really is for
>>> application scope.
>>>
>>> An obvious question is: are there a better solution.
>>>
>>> I think it would be nice if such info could be stored
>>> in P0 space, put in an EXE via link option and moved from
>>> EXE to P0 space at image activation.
>>>
>>> But I don't know enough to say whether that would really work.
>>
>> Look at the Basic OPTION statement ...
>>
>> It is two things, a compile time directive, and contained within the program.
>
> That would mean changes to all compilers.
>
> And I also think it is cleaner to have it outside
> the source code.
>
> Arne
>
>

I think it's insane to have it outside the application. What can happen if any
of the logicals aren't set appropriately?

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: Best DECC$ logical name settings for UNIX compat.

<ugsk2k$lu4g$2@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30636&group=comp.os.vms#30636

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Thu, 19 Oct 2023 21:10:43 -0400
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <ugsk2k$lu4g$2@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<ugqd8g$5lif$1@dont-email.me> <ugscda$k66b$1@dont-email.me>
<ugsibm$lohj$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 20 Oct 2023 01:10:44 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="84136aa36b1a841dfd54496eb540feda";
logging-data="718992"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/GOF32cUPz2eBiNWB5YIMZhQQPNO0V7SY="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:sxDEovhmXXI5BNQyBcHXehs2gh0=
Content-Language: en-US
In-Reply-To: <ugsibm$lohj$1@dont-email.me>
 by: Arne Vajhøj - Fri, 20 Oct 2023 01:10 UTC

On 10/19/2023 8:42 PM, Dave Froble wrote:
> On 10/19/2023 6:59 PM, Arne Vajhøj wrote:
>> On 10/19/2023 1:03 AM, Dave Froble wrote:
>>> On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
>>>> I think it would be nice if such info could be stored
>>>> in P0 space, put in an EXE via link option and moved from
>>>> EXE to P0 space at image activation.
>>>>
>>>> But I don't know enough to say whether that would really work.
>>>
>>> Look at the Basic OPTION statement ...
>>>
>>> It is two things, a compile time directive, and contained within the
>>> program.
>>
>> That would mean changes to all compilers.
>>
>> And I also think it is cleaner to have it outside
>> the source code.
>
> I think it's insane to have it outside the application.  What can happen
> if any of the logicals aren't set appropriately?

I do want it in the application. Just in the build script
not in the source code.

It does not matter much for VMS Basic as it will only
run on VMS.

But for a language that runs on VMS and other OS, then
having same source code and putting stuff like this in
the build script makes sense to me (the build scripts
tend to be platform specific no matter what.

Arne

Re: Best DECC$ logical name settings for UNIX compat.

<ugsrah$reg9$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30638&group=comp.os.vms#30638

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Thu, 19 Oct 2023 23:15:27 -0400
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <ugsrah$reg9$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<ugqd8g$5lif$1@dont-email.me> <ugscda$k66b$1@dont-email.me>
<ugsibm$lohj$1@dont-email.me> <ugsk2k$lu4g$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 20 Oct 2023 03:14:25 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="863926d6420bafd6f0287bd84dbd4dc5";
logging-data="899593"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Jg5dTpJ0ybBDaG8MZ2el86ls/wS4VjAo="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:qlP/51Lf+qqKTTJ48XGRA9z4+cM=
In-Reply-To: <ugsk2k$lu4g$2@dont-email.me>
 by: Dave Froble - Fri, 20 Oct 2023 03:15 UTC

On 10/19/2023 9:10 PM, Arne Vajhøj wrote:
> On 10/19/2023 8:42 PM, Dave Froble wrote:
>> On 10/19/2023 6:59 PM, Arne Vajhøj wrote:
>>> On 10/19/2023 1:03 AM, Dave Froble wrote:
>>>> On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
>>>>> I think it would be nice if such info could be stored
>>>>> in P0 space, put in an EXE via link option and moved from
>>>>> EXE to P0 space at image activation.
>>>>>
>>>>> But I don't know enough to say whether that would really work.
>>>>
>>>> Look at the Basic OPTION statement ...
>>>>
>>>> It is two things, a compile time directive, and contained within the program.
>>>
>>> That would mean changes to all compilers.
>>>
>>> And I also think it is cleaner to have it outside
>>> the source code.
>>
>> I think it's insane to have it outside the application. What can happen if
>> any of the logicals aren't set appropriately?
>
> I do want it in the application. Just in the build script
> not in the source code.

Does a build script always exist for every computer the application is running on?

> It does not matter much for VMS Basic as it will only
> run on VMS.

Perhaps a good thing?

> But for a language that runs on VMS and other OS, then
> having same source code and putting stuff like this in
> the build script makes sense to me (the build scripts
> tend to be platform specific no matter what.
>
> Arne
>
>

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: Best DECC$ logical name settings for UNIX compat.

<ugte8f$ve5j$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30641&group=comp.os.vms#30641

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jan-erik...@telia.com (Jan-Erik Söderholm)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Fri, 20 Oct 2023 10:37:35 +0200
Organization: A noiseless patient Spider
Lines: 61
Message-ID: <ugte8f$ve5j$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<ugqd8g$5lif$1@dont-email.me> <ugscda$k66b$1@dont-email.me>
<ugsibm$lohj$1@dont-email.me> <ugsk2k$lu4g$2@dont-email.me>
<ugsrah$reg9$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 20 Oct 2023 08:37:35 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="7b941a7d1aa3dabd7c03976a062c133d";
logging-data="1030323"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/8P9TodU7DXRMBCCkrUtAD"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:5DCNTw3torrL/gz5U80rkN4CKq8=
Content-Language: sv
In-Reply-To: <ugsrah$reg9$1@dont-email.me>
 by: Jan-Erik Söderholm - Fri, 20 Oct 2023 08:37 UTC

Den 2023-10-20 kl. 05:15, skrev Dave Froble:
> On 10/19/2023 9:10 PM, Arne Vajhøj wrote:
>> On 10/19/2023 8:42 PM, Dave Froble wrote:
>>> On 10/19/2023 6:59 PM, Arne Vajhøj wrote:
>>>> On 10/19/2023 1:03 AM, Dave Froble wrote:
>>>>> On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
>>>>>> I think it would be nice if such info could be stored
>>>>>> in P0 space, put in an EXE via link option and moved from
>>>>>> EXE to P0 space at image activation.
>>>>>>
>>>>>> But I don't know enough to say whether that would really work.
>>>>>
>>>>> Look at the Basic OPTION statement ...
>>>>>
>>>>> It is two things, a compile time directive, and contained within the
>>>>> program.
>>>>
>>>> That would mean changes to all compilers.
>>>>
>>>> And I also think it is cleaner to have it outside
>>>> the source code.
>>>
>>> I think it's insane to have it outside the application.  What can happen if
>>> any of the logicals aren't set appropriately?
>>
>> I do want it in the application. Just in the build script
>> not in the source code.
>
> Does a build script always exist for every computer the application is
> running on?

Dave, I think you are missunderstanding Arne.

You both do want the UNIX option to be in the finished EXE.
That is, having no special setup to get them when you run the EXE.

But Arne does not want them into the actual source code (since
that makes it "different" from other platforms). But rather into
the VMS-specific build script.

Still, the EXE would have them included and it run on any VMS box
without any special setup or having access to the build script.

>
>> It does not matter much for VMS Basic as it will only
>> run on VMS.
>
> Perhaps a good thing?
>
>> But for a language that runs on VMS and other OS, then
>> having same source code and putting stuff like this in
>> the build script makes sense to me (the build scripts
>> tend to be platform specific no matter what.
>>
>> Arne
>>
>>
>
>

Re: Best DECC$ logical name settings for UNIX compat.

<2246f848-0006-4ecb-af5e-e95feb6d12b7n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30642&group=comp.os.vms#30642

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a0c:cd91:0:b0:66c:faff:e9a2 with SMTP id v17-20020a0ccd91000000b0066cfaffe9a2mr23336qvm.5.1697795503372;
Fri, 20 Oct 2023 02:51:43 -0700 (PDT)
X-Received: by 2002:a05:6808:358f:b0:3b2:e66e:7b49 with SMTP id
cp15-20020a056808358f00b003b2e66e7b49mr405281oib.4.1697795503032; Fri, 20 Oct
2023 02:51:43 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Fri, 20 Oct 2023 02:51:42 -0700 (PDT)
In-Reply-To: <ugsd0q$k66b$2@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:9e8:32ed:dd00:c88:4ea7:d15:234b;
posting-account=U8VIbwoAAAD-oRYtqvRwM1yjdPKmKsbA
NNTP-Posting-Host: 2001:9e8:32ed:dd00:c88:4ea7:d15:234b
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com> <805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<76de2d16-f9f0-47cf-97af-99a81757692bn@googlegroups.com> <ugsd0q$k66b$2@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2246f848-0006-4ecb-af5e-e95feb6d12b7n@googlegroups.com>
Subject: Re: Best DECC$ logical name settings for UNIX compat.
From: h47...@gmail.com (hb@end.of.inter.net)
Injection-Date: Fri, 20 Oct 2023 09:51:43 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 36
 by: hb@end.of.inter.net - Fri, 20 Oct 2023 09:51 UTC

On Friday, October 20, 2023 at 1:10:46 AM UTC+2, Arne Vajhøj wrote:
....
> That is functional equivalent of what I am suggesting.

and easy to implement. Just write a script to produce all the necessary source modules, compile them and tell the developer that at link time for feature A the object module NIX_A needs to be included and for feature B additionally the symbol NIX_B_VALUE needs to be defined. At least for the A type of features there can be an OPTIONS file.

> But the LIB$INITIALIZE mechanism is a rather
> complex mechanism.
>
> Compared to:
>
> $ LINK ... + SYS$INPUT/OPT
> NIX_OPTIONS=(xxx,yyy,zzz)
> $
>
> or even simpler:
>
> $ LINK/NIX_OPTIONS=(xxx,yyy,zzz) ...

You need to make that NIX_OPTIONS=(xxx,yyy=nnn,zzz) for a yyy features, which requires a value.

What do you want the linker to generate? Symbols the CRTL can look up at run time? Other than that would require CRTL changes, there are no symbols in main executable images. LIB$INITIALIZE code? That's probably possible but requires linker changes. The above approach seems simpler and works today.
> I want something that we can tell developers moving
> from nix to VMS to use and they can easily understand.

I understand, and I used NIX from your examples, something Germans will like :-)

Re: Best DECC$ logical name settings for UNIX compat.

<ugttko$13716$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30648&group=comp.os.vms#30648

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Fri, 20 Oct 2023 09:01:10 -0400
Organization: A noiseless patient Spider
Lines: 76
Message-ID: <ugttko$13716$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<ugqd8g$5lif$1@dont-email.me> <ugscda$k66b$1@dont-email.me>
<ugsibm$lohj$1@dont-email.me> <ugsk2k$lu4g$2@dont-email.me>
<ugsrah$reg9$1@dont-email.me> <ugte8f$ve5j$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 20 Oct 2023 13:00:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="863926d6420bafd6f0287bd84dbd4dc5";
logging-data="1154086"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/aEaGNsJJyJNfinnLblr10qWM9KY5tp7U="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:zMnZpzvX5yjQ6gQpKf1zdfCv+e4=
In-Reply-To: <ugte8f$ve5j$1@dont-email.me>
 by: Dave Froble - Fri, 20 Oct 2023 13:01 UTC

On 10/20/2023 4:37 AM, Jan-Erik Söderholm wrote:
> Den 2023-10-20 kl. 05:15, skrev Dave Froble:
>> On 10/19/2023 9:10 PM, Arne Vajhøj wrote:
>>> On 10/19/2023 8:42 PM, Dave Froble wrote:
>>>> On 10/19/2023 6:59 PM, Arne Vajhøj wrote:
>>>>> On 10/19/2023 1:03 AM, Dave Froble wrote:
>>>>>> On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
>>>>>>> I think it would be nice if such info could be stored
>>>>>>> in P0 space, put in an EXE via link option and moved from
>>>>>>> EXE to P0 space at image activation.
>>>>>>>
>>>>>>> But I don't know enough to say whether that would really work.
>>>>>>
>>>>>> Look at the Basic OPTION statement ...
>>>>>>
>>>>>> It is two things, a compile time directive, and contained within the program.
>>>>>
>>>>> That would mean changes to all compilers.
>>>>>
>>>>> And I also think it is cleaner to have it outside
>>>>> the source code.
>>>>
>>>> I think it's insane to have it outside the application. What can happen if
>>>> any of the logicals aren't set appropriately?
>>>
>>> I do want it in the application. Just in the build script
>>> not in the source code.
>>
>> Does a build script always exist for every computer the application is running
>> on?
>
> Dave, I think you are missunderstanding Arne.

That happens a lot with me anymore ...

:-)

You are correct, I've never used such, and therefore don't really understand the
details. If the necessary info is in the EXE, that is the important thing.

> You both do want the UNIX option to be in the finished EXE.
> That is, having no special setup to get them when you run the EXE.
>
> But Arne does not want them into the actual source code (since
> that makes it "different" from other platforms). But rather into
> the VMS-specific build script.
>
> Still, the EXE would have them included and it run on any VMS box
> without any special setup or having access to the build script.
>
>
>>
>>> It does not matter much for VMS Basic as it will only
>>> run on VMS.
>>
>> Perhaps a good thing?
>>
>>> But for a language that runs on VMS and other OS, then
>>> having same source code and putting stuff like this in
>>> the build script makes sense to me (the build scripts
>>> tend to be platform specific no matter what.
>>>
>>> Arne
>>>
>>>
>>
>>
>

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: Best DECC$ logical name settings for UNIX compat.

<ugtupb$13ime$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=30649&group=comp.os.vms#30649

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!paganini.bofh.team!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: arn...@vajhoej.dk (Arne Vajhøj)
Newsgroups: comp.os.vms
Subject: Re: Best DECC$ logical name settings for UNIX compat.
Date: Fri, 20 Oct 2023 09:19:39 -0400
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <ugtupb$13ime$1@dont-email.me>
References: <bdbae9cb-8cdb-4b78-a5b7-4bce444ae23en@googlegroups.com>
<16cdfa93-5685-4075-978f-adc551e1dfb0n@googlegroups.com>
<805c5652-d5b5-4a20-a6ea-0b6961aa1878n@googlegroups.com>
<ugoghm$3kn0t$1@dont-email.me> <ugonni$3m8cp$1@dont-email.me>
<ugp6dg$3pafl$2@dont-email.me> <ugp8fd$3q2t8$1@dont-email.me>
<ugqd8g$5lif$1@dont-email.me> <ugscda$k66b$1@dont-email.me>
<ugsibm$lohj$1@dont-email.me> <ugsk2k$lu4g$2@dont-email.me>
<ugsrah$reg9$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 20 Oct 2023 13:19:39 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="84136aa36b1a841dfd54496eb540feda";
logging-data="1166030"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19hvlDPUIWuYHLESKxJqfkiUFdsodlFOwc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:S+l417HtVLHt9FUOMFMzzBUAfkA=
Content-Language: en-US
In-Reply-To: <ugsrah$reg9$1@dont-email.me>
 by: Arne Vajhøj - Fri, 20 Oct 2023 13:19 UTC

On 10/19/2023 11:15 PM, Dave Froble wrote:
> On 10/19/2023 9:10 PM, Arne Vajhøj wrote:
>> On 10/19/2023 8:42 PM, Dave Froble wrote:
>>> On 10/19/2023 6:59 PM, Arne Vajhøj wrote:
>>>> On 10/19/2023 1:03 AM, Dave Froble wrote:
>>>>> On 10/18/2023 2:34 PM, Arne Vajhøj wrote:
>>>>>> I think it would be nice if such info could be stored
>>>>>> in P0 space, put in an EXE via link option and moved from
>>>>>> EXE to P0 space at image activation.
>>>>>>
>>>>>> But I don't know enough to say whether that would really work.
>>>>>
>>>>> Look at the Basic OPTION statement ...
>>>>>
>>>>> It is two things, a compile time directive, and contained within
>>>>> the program.
>>>>
>>>> That would mean changes to all compilers.
>>>>
>>>> And I also think it is cleaner to have it outside
>>>> the source code.
>>>
>>> I think it's insane to have it outside the application.  What can
>>> happen if
>>> any of the logicals aren't set appropriately?
>>
>> I do want it in the application. Just in the build script
>> not in the source code.
>
> Does a build script always exist for every computer the application is
> running on?

If it is none-trivial I think so.

>> It does not matter much for VMS Basic as it will only
>> run on VMS.
>
> Perhaps a good thing?

Maybe. Maybe not. :-)

But good or bad does not change that some other languages may
have a portability requirement.

Arne

Pages:123
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor