At 3:52 PM -0700 9/12/02, [EMAIL PROTECTED] wrote:

> > Thanks; let us know what they say.
>
>What they said was "use the backport library".  It turns out that there is
>a file called sys$library:decc$crtl.readme (and .exe and .obj) distributed
>with recent compilers.  To my unfamiliar mind it seems like a Good Thing.
>I'd be happy to try it out if you need a test case.

Sigh.  Totally useless and irrelevant, I'm afraid.  The backport
library *is* a good thing, but it only applies to distributing object
code and/or images, not to distributing source code that must compile
on a widely varying set of C RTL version, compiler version, and VMS
version combinations.  The question is not, "How do I distribute a
binary that depends on a newer function in the C RTL?" but rather
"How do I know at compile time whether a newer function is available
in the C  RTL I've got?".  And not just "newer function" in general,
but __vms_waitpid in particular.  What value of __CRTL_VER do I need
to have in order to know I can use __vms_waitpid?  The value of
__CRTL_VER supplied with the compiler in wait.h (70100322 as of CC
6.5) is incorrect.  We know this because someone on OpenVMS Alpha
v7.2-1H2 has __CRTL_VER = 70110822 but does *not* have __vms_waitpid.
I'll probably just have to bump up the version we check for to
70200000 but I'd prefer to know the exact number if anyone can come
up with it.  Thanks for trying, Paul.

> > Bummer.  What does it take to make that happen.  Will this do it?
>
>Alas, no.  There needs to actually be some children about.  The test does
>show that the default behavior is different:
>
>perl 5.6.1:
>
>agent_system$ perl -"MPOSIX" -e "waitpid(-1,&WNOHANG); print $^E;"
>     ...long pause...
>Fatal VMS error (status=2472) at PERLKIT:[SOURCE]VMS.C;1, line 2292 at -e
>line 1.
>%SYSTEM-W-NOMOREPROC, no more processes
>
>perl 5.8.0:
>
>agent_system$ perl -"MPOSIX" -e "waitpid(-1,&WNOHANG); print $^E;"
>     ...neglagable pause...
>%C-F-ECHILD, no children
>
>Unfortunately, I just wiped the perl-5_8_0*... directories and
>re-installed. And now I'm getting:

Check your perl_root definition.  Other than that I'm not sure what could be going on.
-- 
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to