Re: Bizarre copy of unknown

2013-01-09 Thread Thomas Pfau
I think this has something to do with threads. I rebuilt perl at work
without threads and the module works again.
On Jan 9, 2013 8:20 AM, Craig A. Berry craigbe...@mac.com wrote:


 On Jan 8, 2013, at 10:07 PM, Thomas Pfau tfp...@gmail.com wrote:

   Bizarre copy of UNKNOWN in list assignment at
 /DISK$USERS/PFAU/PROG/PERL/vms-cms/blib/lib/VMS/CMS.pm line 490.

 A quick web search shows that this usually means the compiler flags used
 to compile the extension are different from the compiler flags used to
 compile Perl.  Your Makefile.PL has the line:

 CCFLAGS   =
 /include=[]/standard=relaxed_ansi/prefix=all/obj=.obj/noshare_globals

 which will be similar but not 100% the same as what's used to build Perl,
 depending on configuration.  You'll probably want to take $Config{ccflags}
 and append /noshare_globals to it, though since that's the default for
 the compiler, it doesn't seem necessary to specify it.

 You can see what your Perl was built with by doing:

 $ perl -V:ccflags
 ccflags='/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
 /NOANSI_ALIAS/float=ieee/ieee=denorm/NAMES=(SHORTENED)/Define=_USE_STD_STAT=1';

 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




Bizarre copy of unknown

2013-01-08 Thread Thomas Pfau
I am having issues with my 5.16.2 build.  Modules that worked fine on 5.8
and 5.10 are now aborting with this error when returning an undefined value
by referencing PL_sv_undef. I have been fixing these by changing them to
sv_newmortal() but I question why this code is suddenly broken. Does anyone
know what changed?


Re: Bizarre copy of unknown

2013-01-08 Thread Thomas Pfau
This is even causing problems with the generated constant function.  If I
try to get the value of a constant I get this:

$x = VMS::CMS::CMS_K_ACCEPT
Bizarre copy of UNKNOWN in list assignment at
/DISK$USERS/PFAU/PROG/PERL/vms-cms/blib/lib/VMS/CMS.pm line 490.

That implies that the code created by ExtUtils::MakeMaker::WriteConstants
is broken.

On Tue, Jan 8, 2013 at 10:59 AM, Thomas Pfau tfp...@gmail.com wrote:

 I am having issues with my 5.16.2 build.  Modules that worked fine on 5.8
 and 5.10 are now aborting with this error when returning an undefined value
 by referencing PL_sv_undef. I have been fixing these by changing them to
 sv_newmortal() but I question why this code is suddenly broken. Does anyone
 know what changed?




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: Bizarre copy of unknown

2013-01-08 Thread Thomas Pfau
On Tue, Jan 8, 2013 at 11:02 PM, Craig A. Berry craigbe...@mac.com wrote:

 On Jan 8, 2013, at 9:14 PM, Thomas Pfau tfp...@gmail.com wrote:

  It looks like the definition of PL_sv_undef has something to do with
 threads.  Could this be broken because I enabled threads in my build?

 It doesn't have anything to do with threads directly, except all PL_xxx
 global variables are not really global variables under threads, but are
 instead members of the interpreter struct.

  On Tue, Jan 8, 2013 at 9:24 PM, Thomas Pfau tfp...@gmail.com wrote:
  This is even causing problems with the generated constant function.  If
 I try to get the value of a constant I get this:
 
  $x = VMS::CMS::CMS_K_ACCEPT

 The ampersand is forcing it to be interpreted as a subroutine call, but
 that's not really a subroutine is it?


Yes.  References to constants are resolved using AUTOLOAD which treats it
like a subroutine.  The subroutine returns the value of the constant.

  Bizarre copy of UNKNOWN in list assignment at
 /DISK$USERS/PFAU/PROG/PERL/vms-cms/blib/lib/VMS/CMS.pm line 490.

 The error message means it doesn't know the type of the scalar that's
 having its flags checked (search for Bizarre in sv.c).  I see that most
 of your routines have return values of type SV *, so I would think that
 instead of

 RETVAL = PL_sv_undef;

 you would want:

 RETVAL = (SV *) PL_sv_undef;

 but I don't know if that would help with the immediate problem.


I don't think that would help.  RETVAL should be declared by the XS
generation code as SV* so I don't think the cast would accomplish
anything.  I'll take a look at the generated C code.

I haven't had time to download your module and try it.  Is the one on CPAN
 the latest?


Yes, the one on CPAN exhibits the problem.


-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: VMS::Time module

2013-01-02 Thread Thomas Pfau
See http://nbpfaus.net/~pfau/perl.log for a log of a session where I start
with all of the files named properly, go through the build process, and
make a zipdist.  The case in the filenames has been altered by the time
things get to the zip file.

On Tue, Jan 1, 2013 at 6:52 PM, Thomas Pfau tfp...@gmail.com wrote:

 I just downloaded it recently.  I believe it's the latest.  I think the
 changes may occur as perl builds the directory tree.

 Copyright (c) 1990-2008 Info-ZIP - Type 'zip -L' for software license.
 This is Zip 3.0 (July 5th 2008), by Info-ZIP.



 On Tue, Jan 1, 2013 at 6:35 PM, Craig A. Berry craigbe...@mac.com wrote:


 On Jan 1, 2013, at 2:26 PM, Thomas Pfau tfp...@gmail.com wrote:

  I have this working on Alpha with (5.16.2) and without (5.10.0) 64 bit
 integer support, and on VAX (5.8.4).
 
  Before uploading this to CPAN I'm curious if anyone has a solution for
 'mmk zipdist' mangling the case of filenames.  The PAUSE server wants to
 extract certain files from the distribution but can't find them because of
 case differences.

 What version of zip do you have?  As far as I know, zipdist just uses
 your zip program, and recent versions of Info-Zip preserve case just fine.
 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




 --
 Thomas Pfau
 tfp...@gmail.com
 http://www.linkedin.com/in/thomaspfau
 http://nbpfaus.net/~pfau/




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: VMS::Time module

2013-01-01 Thread Thomas Pfau
I have this working on Alpha with (5.16.2) and without (5.10.0) 64 bit
integer support, and on VAX (5.8.4).

Before uploading this to CPAN I'm curious if anyone has a solution for 'mmk
zipdist' mangling the case of filenames.  The PAUSE server wants to extract
certain files from the distribution but can't find them because of case
differences.

NAME
VMS::Time - Manipulate OpenVMS binary time values

SYNOPSIS
  use VMS::Time ':all';

  $now = gettim();
  $bin = bintim('01-jan-2010 12:00:00.00');
  $asc = asctim($bin);
  ($year, $month, $day, $hr, $mn, $sc, $cc) = numtim($bin);
  $unix = vms_to_epoch($bin);
  $vms = epoch_to_vms(time());

DESCRIPTION
These functions provide access to the OpenVMS time system services
SYS$GETTIM, SYS$BINTIM, SYS$ASCTIM, and SYS$NUMTIM. Also provided are
functions for converting between OpenVMS binary times and unix epoch
time values.

  EXPORT
None by default. Any function or constant may be imported by name. All
functions can be imported using the tag ':routines'. All constants can
be imported using the tag ':constants'. Routines and constants can be
imported using the tag ':all'.

OVERVIEW
VMS::Time can accept and return VMS times in various formats depending
upon the platform and how perl was built. The routines that return VMS
time values accept a return mode argument that determines the format for
the returned value. Constants are defined for the return modes as
follows.

PACK - Pack format (default)
Returns the time as a string containing an 8 byte OpenVMS time
value.

LONGINT - Integer
Returns the time value as an integer. This is only supported if perl
was built with support for long integers.

FLOAT - Floating point
Returns the time value as a floating point number. Precision may be
lost especially if perl was not built with support for long doubles.
FLOAT is not supported on VAX systems.

HEX - Hex string
Returns the time value as a hex encoded string with a leading '0x'.

BIGINT - Math::BigInt
Returns the time value as a Math::BigInt object. Math::BigInt must
have been previously loaded.

The format for input VMS time values is deduced from the attributes of
the perl variable passed to the function. If the variable contains an
integer, LONGINT format is assumed. If the variable containes a floating
point value, FLOAT format is assumed. If the variable is a string with a
leading '0x', HEX format is assumed. If the variable is an 8 byte
string, PACK format is assumed. If the variable is a Math::BigInt
object, BIGINT format is assumed.

  FUNCTIONS
bintim - convert ascii time string to binary

$bin = bintim('01-jan-2010 12:00:00.00'[,$retmode]);

Converts the time string to a VMS time value. $retmode indicates the
format for the returned value as described in the overview section.

asctim - convert binary time to ascii string

$text = asctim([$bin])

Converts an OpenVMS time to its textual presentation. If a binary time
is not provided, the current time is used.

gettim - get current time as binary

$bin = gettim([$retmode]);

Returns the current time. $retmode specifies the format of the returned
value as described in the overview section.

numtim - get current time as array or convert binary time to array

@a = numtim();  # current time
@a = numtim($bin);  # supplied time value

Returns an array of numeric values representing the current time. The
values are returned in the order year, month, day, hour, minute, second,
hundredth of seconds.

If no binary time value is provided the current time is used.

epoch_to_vms - convert unix epoch time value to vms time

$bin = epoch_to_vms($tm);

Converts the provided unix time value to OpenVMS binary time format.

vms_to_epoch - convert vms time to unix epoch time value

$tm = vms_to_epoch($bin);

Converts an 8 byte OpenVMS binary time to a unix time value.

SEE ALSO
See the OpenVMS System Services Reference Manual for descriptions of the
referenced system services.

AUTHOR
Thomas Pfau, tfp...@gmail.comgt

COPYRIGHT AND LICENSE
VMS::Time is Copyright (C) 2013 by Thomas Pfau

This module is free software. You can redistribute it and/or modify it
under the terms of the Artistic License 2.0.

This module is distributed in the hope that it will be useful but it is
provided as isand without any express or implied warranties.


Re: 5.16.2 build

2013-01-01 Thread Thomas Pfau
On Tue, Jan 1, 2013 at 5:51 PM, Craig A. Berry craigbe...@mac.com wrote:


 On Dec 31, 2012, at 12:32 PM, Thomas Pfau tfp...@gmail.com wrote:
  Also, I haven't had any luck building on an ODS-5 volume on either Alpha
 or Integrity.  Tests are running now.

 Building on ODS-5 definitely works for a default build, but I think you
 were building with case sensitive symbols.


I was originally trying to build with case sensitive symbols but realized
it was going to be a nightmare and gave up.  All of my later attempts had
this option turned off.

-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: VMS::Time module

2013-01-01 Thread Thomas Pfau
I just downloaded it recently.  I believe it's the latest.  I think the
changes may occur as perl builds the directory tree.

Copyright (c) 1990-2008 Info-ZIP - Type 'zip -L' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.


On Tue, Jan 1, 2013 at 6:35 PM, Craig A. Berry craigbe...@mac.com wrote:


 On Jan 1, 2013, at 2:26 PM, Thomas Pfau tfp...@gmail.com wrote:

  I have this working on Alpha with (5.16.2) and without (5.10.0) 64 bit
 integer support, and on VAX (5.8.4).
 
  Before uploading this to CPAN I'm curious if anyone has a solution for
 'mmk zipdist' mangling the case of filenames.  The PAUSE server wants to
 extract certain files from the distribution but can't find them because of
 case differences.

 What version of zip do you have?  As far as I know, zipdist just uses your
 zip program, and recent versions of Info-Zip preserve case just fine.
 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


5.16.2 build

2012-12-31 Thread Thomas Pfau
I finally got 5.16.2 to complete the build process on Integrity today.
Apparently DECC$READDIR_DROPDOTNOTYPE enabled causes problems.  We have
that set at work for something else.  I had to define it locally to
disabled and the build completed.  Also, I haven't had any luck building
on an ODS-5 volume on either Alpha or Integrity.  Tests are running now.

-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: VMS::Time module

2012-12-31 Thread Thomas Pfau
I was thinking about this today and thought of another way to select the
return format.  What if the routines that returned a VMS time value had an
extra argument indicating what format to return it in?  Constants for the
format argument could be provided by the module.  The possible formats
could include 8 byte string (packed format), integer (if 64 bit integer
support is built into perl), or float.  Does this sound like a more usable
interface?

For example:
$tm1 = gettim(VMSTM_PACK);
$tm2 = bintim('31-DEC-2012 18:00', VMSTM_FLOAT);

It was suggested to return a list of values but then the caller needs to
know which entry in the returned list is in the desired format.  It also
means returning multiple values when the caller probably only wants one.

On Mon, Dec 24, 2012 at 5:19 PM, Thomas Pfau tfp...@gmail.com wrote:

 I wrote a time module that interfaces to the VMS time system services -
 $BINTIM, $ASCTIM, $GETTIM, and $NUMTIM.  I also had a replacement routines
 for $ASCTIM, $BINTIM and $GETTIM that could be used on non-VMS platforms.

 Currently it accepts and returns VMS time buffers as 8 byte strings but I
 was thinking of allowing numeric values to be passed if perl was built with
 64 bit integer support.  I could detect the input format by using
 SvIOK/SvPOK.  The problem I have is determining how the user wants the
 information returned.

 Current interface ($now and $bin are 8 byte strings containing the time):
   $now = gettim();
   $bin = bintim('01-jan-2010 12:00:00.00');
   $asc = asctim($bin);
   ($year, $month, $day, $hr, $mn, $sc, $cc) = numtim($bin);

 I'm thinking of using an optional additional argument on gettim and bintim
 that would be written with the 8 byte string and have the routines return
 the time as an integer if perl is built with 64 bit integers.  I could try
 to interface to the bigint module and return a bigint value if 64 bit
 integers aren't available.

 Would anyone find this useful?  Any comments on the interface?

 --
 Thomas Pfau
 tfp...@gmail.com
 http://www.linkedin.com/in/thomaspfau
 http://nbpfaus.net/~pfau/




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-24 Thread Thomas Pfau
Tests completed.  Results are in http://nbpfaus.net/~pfau/perltest.zip


-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-24 Thread Thomas Pfau
I started looking through some of the failures.

t/comp/parser .
FAILED--unexpected output at test 0

1..123
...
ok 23 - interpolation, here doc
ok 24 - ';' sub prototype confuses the lexer
#
ok 25
ok 26 - eval { foo = 'bar' }
ok 27 - { foo = 'bar' }
...

garbage line of output appears to come from this:

# Bug #21575
# ensure that the second print statement works, by playing a bit
# with the test output.
my %data = ( foo = \n );
print #;
print(
$data{foo});
$test = $test + 1;
print ok $test\n;

Pipe problem?

t/op/stat . FAILED at
test 31
not ok 31 - symlink() ok
# Failed test 31 - symlink() ok at [.t.op]stat.t line 223
not ok 32 - -l
# Failed test 32 - -l at [.t.op]stat.t line 224
...
ok 81 - lstat $ioref reverts to regular fstat
# Can't symlink [.t.op]stat.t: permission denied at [.t.op]stat.t line 485.
# Looks like you planned 113 tests but ran 81.
%SYSTEM-F-ABORT, abort

t/op/taint 
FAILED--unexpected output at test 531
Appears to be due to building with secure logical name translations.  First
error is this:

ok 7 # skip all directories are writeable
Insecure $ENV{DCL$PATH} while running with -t switch at [.t.op]taint.t line
192.
Insecure dependency in popen while running with -t switch at [.t.op]taint.t
line 192.
not ok 8

cpan/autodie/t/Fatal ..
FAILED--expected test 15, saw test 17
ok 14 - Close filehandle using - \*FOO
Fatal VMS error (status=114730) at DKA100:[PERL-5_16_2]VMS.C;1, line 11973
%RMS-E-FND, ACP file or directory lookup failed
Fatal VMS error (status=114730) at DKA100:[PERL-5_16_2]VMS.C;1, line 11973
%RMS-E-FND, ACP file or directory lookup failed
ok 16 - Package :void Fatal::opendir in scalar context
ok 17 - Can't override print

cpan/File-Path/t/Path . FAILED at
test 66
ok 65 - bug 487319 setup
not ok 66 - debian bug 487319 setup symlink
#   Failed test 'debian bug 487319 setup symlink'
#   at cpan/file-path/t/path.t line 332.
# bug487319-symlink
ok 67 - mask of symlink target dir unchanged (debian bug 487319)


VMS::Time module

2012-12-24 Thread Thomas Pfau
I wrote a time module that interfaces to the VMS time system services -
$BINTIM, $ASCTIM, $GETTIM, and $NUMTIM.  I also had a replacement routines
for $ASCTIM, $BINTIM and $GETTIM that could be used on non-VMS platforms.

Currently it accepts and returns VMS time buffers as 8 byte strings but I
was thinking of allowing numeric values to be passed if perl was built with
64 bit integer support.  I could detect the input format by using
SvIOK/SvPOK.  The problem I have is determining how the user wants the
information returned.

Current interface ($now and $bin are 8 byte strings containing the time):
  $now = gettim();
  $bin = bintim('01-jan-2010 12:00:00.00');
  $asc = asctim($bin);
  ($year, $month, $day, $hr, $mn, $sc, $cc) = numtim($bin);

I'm thinking of using an optional additional argument on gettim and bintim
that would be written with the 8 byte string and have the routines return
the time as an integer if perl is built with 64 bit integers.  I could try
to interface to the bigint module and return a bigint value if 64 bit
integers aren't available.

Would anyone find this useful?  Any comments on the interface?

-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-23 Thread Thomas Pfau
I downloaded the latest MMK and tried again.  It still failed to find
module GLOBALS although it did find PERL.

On Sat, Dec 22, 2012 at 11:32 PM, Thomas Pfau tfp...@gmail.com wrote:

 I zipped up the log files and config.h.  You can grab it from
 http://nbpfaus.net/~pfau/perlbuild.zip.

 perlbuild-1.log was the first part of the build.  That failed due to not
 finding dynaloader.c.  I issued the MMK commands to get it generated and
 then resubmitted the build.  That produced perlbuild-2.log.  I started all
 of this after deleting the entire directory tree and unpacking the sources
 again.

 I have MMK V3.9-9.  I'll try again with 4.1.


 On Sat, Dec 22, 2012 at 11:15 PM, Craig A. Berry craigbe...@mac.comwrote:


 On Dec 22, 2012, at 5:14 PM, Thomas Pfau tfp...@gmail.com wrote:

  My build had problems with DynLoader which I was able to get past with
 'mmk dynloader.xs', 'mmk dynloader.c', 'mmk all'.

 I didn't have that problem.  I don't know if it makes a difference, but I
 was using MMK 4.1 for this.

After that I restarted the full build.  It died with the following
 while building in dist/Cwd:
 
  Link /NoTrace/NoMap /Shareable=[--.LIB.AUTO.CWD]PL_CWD.EXE
 Cwd.opt/Option,[--]perlshr_attr.opt/Option
  %LINK-W-SHRWRNERS, compilation warnings
  in shareable image file
 DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1
  %MMK-F-ERRUPD, error status %X10648268 occurred when updating target
 [--.LIB.AUTO.CWD]PL_CWD.EXE
  %MMK-F-ERRUPD, error status %X10648268 occurred when updating target
 [--.LIB.AUTO.CWD]PL_CWD.EXE
  Unsuccessful make(dist/Cwd): code=1024 at make_ext.pl line 466.
  %NONAME-F-NOMSG, Message number 0C14803C
  %MMK-F-ERRUPD, error status %X0C14803C occurred when updating target
 DYNEXT

 This is almost certainly a symptom of not getting completely cleaned up
 after the compiler warnings you reported earlier.

 
  I looked further up in the build log and found this:
 
  Link /NoTrace/NoMap/Share=PERLSHR.EXE DynaLoader.obj,
 []perlshr_bld.opt/Option, perlshr_attr.opt/Option
  %LINK-W-NOSUCHMOD, module PERL not found
  in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
  %LINK-W-NOSUCHMOD, module GLOBALS not found
  in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
  Link /NoTrace/NoMap/THREADS=(MULTIPLE_KERNEL,UPCALLS)/Exe=PERL.EXE
 perlmain.obj, perlshr.opt/Option, perlshr_attr.opt/Option ,[]crt$
  %LINK-W-SHRWRNERS, compilation warnings
  in shareable image file
 DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1
 
  Any ideas?

 Something went wrong compiling globals.c and/or perl.c.  If you have
 compiler warnings or failures that we haven't addressed yet, that would be
 the place to start.  If there aren't any that we haven't dealt with, then
 you haven't been getting the results of the previous compiles cleaned up
 adequately.

  BTW, is threading supported on VMS?

 It is, but you don't get it unless you configure with -Dusethreads.  My
 link looked like:

 $ sea  sys$login:build_5_16_2.log exe=perl
 Link /NoTrace/NoMap/Exe=PERL.EXE perlmain.obj, perlshr.opt/Option,
 perlshr_attr.opt/Option ,[]crtl.opt/Options


 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




 --
 Thomas Pfau
 tfp...@gmail.com
 http://www.linkedin.com/in/thomaspfau
 http://nbpfaus.net/~pfau/




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-23 Thread Thomas Pfau
Ok, I just saw it.  I selected the option to preserve case in symbol
names.  The module gets named 'globals' but the options file calls for
'GLOBALS'.

On Sun, Dec 23, 2012 at 8:56 AM, Thomas Pfau tfp...@gmail.com wrote:

 I downloaded the latest MMK and tried again.  It still failed to find
 module GLOBALS although it did find PERL.


 On Sat, Dec 22, 2012 at 11:32 PM, Thomas Pfau tfp...@gmail.com wrote:

 I zipped up the log files and config.h.  You can grab it from
 http://nbpfaus.net/~pfau/perlbuild.zip.

 perlbuild-1.log was the first part of the build.  That failed due to not
 finding dynaloader.c.  I issued the MMK commands to get it generated and
 then resubmitted the build.  That produced perlbuild-2.log.  I started all
 of this after deleting the entire directory tree and unpacking the sources
 again.

 I have MMK V3.9-9.  I'll try again with 4.1.


 On Sat, Dec 22, 2012 at 11:15 PM, Craig A. Berry craigbe...@mac.comwrote:


 On Dec 22, 2012, at 5:14 PM, Thomas Pfau tfp...@gmail.com wrote:

  My build had problems with DynLoader which I was able to get past with
 'mmk dynloader.xs', 'mmk dynloader.c', 'mmk all'.

 I didn't have that problem.  I don't know if it makes a difference, but
 I was using MMK 4.1 for this.

After that I restarted the full build.  It died with the following
 while building in dist/Cwd:
 
  Link /NoTrace/NoMap /Shareable=[--.LIB.AUTO.CWD]PL_CWD.EXE
 Cwd.opt/Option,[--]perlshr_attr.opt/Option
  %LINK-W-SHRWRNERS, compilation warnings
  in shareable image file
 DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1
  %MMK-F-ERRUPD, error status %X10648268 occurred when updating target
 [--.LIB.AUTO.CWD]PL_CWD.EXE
  %MMK-F-ERRUPD, error status %X10648268 occurred when updating target
 [--.LIB.AUTO.CWD]PL_CWD.EXE
  Unsuccessful make(dist/Cwd): code=1024 at make_ext.pl line 466.
  %NONAME-F-NOMSG, Message number 0C14803C
  %MMK-F-ERRUPD, error status %X0C14803C occurred when updating target
 DYNEXT

 This is almost certainly a symptom of not getting completely cleaned up
 after the compiler warnings you reported earlier.

 
  I looked further up in the build log and found this:
 
  Link /NoTrace/NoMap/Share=PERLSHR.EXE DynaLoader.obj,
 []perlshr_bld.opt/Option, perlshr_attr.opt/Option
  %LINK-W-NOSUCHMOD, module PERL not found
  in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
  %LINK-W-NOSUCHMOD, module GLOBALS not found
  in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
  Link /NoTrace/NoMap/THREADS=(MULTIPLE_KERNEL,UPCALLS)/Exe=PERL.EXE
 perlmain.obj, perlshr.opt/Option, perlshr_attr.opt/Option ,[]crt$
  %LINK-W-SHRWRNERS, compilation warnings
  in shareable image file
 DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1
 
  Any ideas?

 Something went wrong compiling globals.c and/or perl.c.  If you have
 compiler warnings or failures that we haven't addressed yet, that would be
 the place to start.  If there aren't any that we haven't dealt with, then
 you haven't been getting the results of the previous compiles cleaned up
 adequately.

  BTW, is threading supported on VMS?

 It is, but you don't get it unless you configure with -Dusethreads.
  My link looked like:

 $ sea  sys$login:build_5_16_2.log exe=perl
 Link /NoTrace/NoMap/Exe=PERL.EXE perlmain.obj, perlshr.opt/Option,
 perlshr_attr.opt/Option ,[]crtl.opt/Options


 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




 --
 Thomas Pfau
 tfp...@gmail.com
 http://www.linkedin.com/in/thomaspfau
 http://nbpfaus.net/~pfau/




 --
 Thomas Pfau
 tfp...@gmail.com
 http://www.linkedin.com/in/thomaspfau
 http://nbpfaus.net/~pfau/




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-23 Thread Thomas Pfau
Ok, I fixed that options file and now it fails on devel/ppport.  I'm
starting over with the case sensitive build turned off.

On Sun, Dec 23, 2012 at 9:16 AM, Craig A. Berry craigbe...@mac.com wrote:


 On Dec 23, 2012, at 7:58 AM, Thomas Pfau tfp...@gmail.com wrote:

  Ok, I just saw it.  I selected the option to preserve case in symbol
 names.  The module gets named 'globals' but the options file calls for
 'GLOBALS'.

 Aha.  Another non-default option I haven't tried in a long time.  It looks
 like the following line in the linker option file generator will need to
 fiddle with case when that option is selected:

 $ search [.vms]gen_shrfls.pl globals
 my $incstr = 'PERL,GLOBALS';


 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-23 Thread Thomas Pfau
Some defaults aren't restored properly when re-executing configure.com.

Enable thread upcalls? [n] y
Installation prefix to use (for PERL_ROOT)? [ perl_root.] ]
dsa0:[perl-5_16_2_root.]
What pager is used on your system? [type/pag] type/page=save=10



-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-23 Thread Thomas Pfau
I started over, told it not to use mixed case symbols, and after about 4.25
hours it appears to have completed successfully.  Now to start the tests

On Sun, Dec 23, 2012 at 2:01 PM, Craig A. Berry craigbe...@mac.com wrote:


 On Dec 23, 2012, at 12:52 PM, Thomas Pfau tfp...@gmail.com wrote:

  Some defaults aren't restored properly when re-executing configure.com.
 
  Enable thread upcalls? [n] y
  Installation prefix to use (for PERL_ROOT)? [ perl_root.] ]
 dsa0:[perl-5_16_2_root.]
  What pager is used on your system? [type/pag] type/page=save=10

 The intention is that it will read the config.sh generated by a previous
 configuration if it exists and use it as your new set of defaults.  This is
 in imitation of what Configure does.  If you don't want that behavior, you
 need to make the realclean target before reconfiguring, which will removing
 any existing config.sh files.

 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


perl 5.16.2 build problems - dynaloader

2012-12-22 Thread Thomas Pfau
Running Makefile.PL in ext/DynaLoader
dsa3:[pfau.freeware.perl-5_16_2]miniperl.exe;1 -I../../lib Makefile.PL
INST_LIB=[--.lib] INST_ARCHLIB=[--.lib] PERL_CORE=1
Writing Descrip.MMS for DynaLoader
Making all in ext/DynaLoader
 MMK all /DESCRIPTION=descrip.mms /MACRO=(PERL_CORE=1)
MCR [--]miniperl.exe -I[--.lib] -I[--.lib] DynaLoader_pm.PL
DynaLoader.pm
cp dynaloader.pm [--.lib]dynaloader.pm
MCR [--]miniperl.exe -I[--.lib] -I[--.lib] -e use
ExtUtils::Mksymlists;   -e Mksymlists('NAME' = 'DynaLoader', 'DL_FUNCS'
=
 {  }, 'DL_VARS' = [], 'FUNCLIST' = [])
MCR [--]miniperl.exe -e print
[--.lib.auto.DynaLoader]DynaLoader.olb/Include=DYNALOADER\n[--.lib.auto.DynaLoader]DynaLoader.olb/L
ibrary\n; DYNALOADER.OPT
MCR [--]miniperl.exe -e print qq{PerlShr/Share\n} DYNALOADER.OPT
MCR DISK$USERS:[pfau.FREEWARE.perl-5_16_2]miniperl.exe -I[--.lib]
-I[--.lib] -MExtUtils::Command -e cp -- DYNALOADER.OPT [
--.LIB.AUTO.DYNALOADER]DYNALOADER.OPT
CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
/NOANSI_ALIAS/float=ieee/ieee=denorm/NAMES=(AS_IS,SHORTENED)/Define=(_
USE_STD_STAT=1,LIBC=\(DECCRTL\),VERSION=1.14,XS_VERSION=1.14)/Include=([--])/NoList
DYNALOADER.c
%CC-F-OPENIN, error opening
DISK$USERS:[pfau.FREEWARE.perl-5_16_2.ext.DynaLoader]DYNALOADER.c; as input
-RMS-E-FNF, file not found
%MMK-F-ERRUPD, error status %X10B9002C occurred when updating target
DYNALOADER.OBJ
%MMK-F-ERRUPD, error status %X10B9002C occurred when updating target
DYNALOADER.OBJ
Unsuccessful make(ext/DynaLoader): code=1024 at make_ext.pl line 466.
%NONAME-F-NOMSG, Message number 0C14803C
%MMK-F-ERRUPD, error status %X0C14803C occurred when updating target
DYNALOADER.OBJ
Axp1» dir [.ext.dynaloader]

Directory DISK$USERS:[pfau.FREEWARE.perl-5_16_2.ext.DynaLoader]

BLIB.DIR;1  Descrip.MMS;1   dlutils.c;1
dl_aix.xs;1
dl_beos.xs;1dl_dld.xs;1 dl_dllload.xs;1
dl_dlopen.xs;1
dl_dyld.xs;1dl_hpux.xs;1dl_mpeix.xs;1
dl_next.xs;1
dl_none.xs;1dl_symbian.xs;1 dl_vmesa.xs;1
dl_vms.xs;1
dl_win32.xs;1   DYNALOADER.OPT;1DYNALOADER.PM;1
DynaLoader_pm.PL;1
hints.DIR;1 Makefile.PL;1   PM_TO_BLIB.TS;1
README.;1
t.DIR;1

Total of 25 files.

I managed to proceed by invoking 'mmk dynaloader.xs', 'mmk dynaloader.c',
'mmk all'.

-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-22 Thread Thomas Pfau
Thanks for the response.  It's not a big deal.  It didn't stop the build
and seems like it had no effect.

On Sat, Dec 22, 2012 at 9:50 AM, John E. Malmberg 
malmb...@encompasserve.org wrote:

 On 12/22/2012 8:07 AM, Craig A. Berry wrote:


 MCR SYS$DISK:[]generate_uudmap.exe uudmap.h bitcount.h mg_data.h
 Action did not update target BITCOUNT.H
 Action did not update target MG_DATA.H

 I'm not sure if this is a problem or not.


 Don't think so.  MMS and MMK feel the need to tell you that they didn't
 do anything.


 It is a bug in MMS or MMK (possibly both) depending on where you saw it.

 The tool thinks it was told to create BITCOUNT.H and did not find it
 because bitcount.h was actually created.

 I reported a similar bug with library module handling to the current MMK
 maintainer, and he said he would look into it.  I have not heard from him
 since.

 I just pulled down the latest DECSET ECO on Alpha, but have not tested it
 yet, and probably will not for a little bit.

 Regards,
 -John
 malmberg@encompasserve.**organization
 Personal Opinion Only




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


perl 5.16.2 build problems

2012-12-22 Thread Thomas Pfau
My build had problems with DynLoader which I was able to get past with 'mmk
dynloader.xs', 'mmk dynloader.c', 'mmk all'.  After that I restarted the
full build.  It died with the following while building in dist/Cwd:

Link /NoTrace/NoMap /Shareable=[--.LIB.AUTO.CWD]PL_CWD.EXE
Cwd.opt/Option,[--]perlshr_attr.opt/Option
%LINK-W-SHRWRNERS, compilation warnings
in shareable image file
DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1
%MMK-F-ERRUPD, error status %X10648268 occurred when updating target
[--.LIB.AUTO.CWD]PL_CWD.EXE
%MMK-F-ERRUPD, error status %X10648268 occurred when updating target
[--.LIB.AUTO.CWD]PL_CWD.EXE
Unsuccessful make(dist/Cwd): code=1024 at make_ext.pl line 466.
%NONAME-F-NOMSG, Message number 0C14803C
%MMK-F-ERRUPD, error status %X0C14803C occurred when updating target DYNEXT

I looked further up in the build log and found this:

Link /NoTrace/NoMap/Share=PERLSHR.EXE DynaLoader.obj,
[]perlshr_bld.opt/Option, perlshr_attr.opt/Option
%LINK-W-NOSUCHMOD, module PERL not found
in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
%LINK-W-NOSUCHMOD, module GLOBALS not found
in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
Link /NoTrace/NoMap/THREADS=(MULTIPLE_KERNEL,UPCALLS)/Exe=PERL.EXE
perlmain.obj, perlshr.opt/Option, perlshr_attr.opt/Option ,[]crt$
%LINK-W-SHRWRNERS, compilation warnings
in shareable image file
DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1

Any ideas?

BTW, is threading supported on VMS?

-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl 5.16.2 build problems

2012-12-22 Thread Thomas Pfau
I zipped up the log files and config.h.  You can grab it from
http://nbpfaus.net/~pfau/perlbuild.zip.

perlbuild-1.log was the first part of the build.  That failed due to not
finding dynaloader.c.  I issued the MMK commands to get it generated and
then resubmitted the build.  That produced perlbuild-2.log.  I started all
of this after deleting the entire directory tree and unpacking the sources
again.

I have MMK V3.9-9.  I'll try again with 4.1.

On Sat, Dec 22, 2012 at 11:15 PM, Craig A. Berry craigbe...@mac.com wrote:


 On Dec 22, 2012, at 5:14 PM, Thomas Pfau tfp...@gmail.com wrote:

  My build had problems with DynLoader which I was able to get past with
 'mmk dynloader.xs', 'mmk dynloader.c', 'mmk all'.

 I didn't have that problem.  I don't know if it makes a difference, but I
 was using MMK 4.1 for this.

After that I restarted the full build.  It died with the following
 while building in dist/Cwd:
 
  Link /NoTrace/NoMap /Shareable=[--.LIB.AUTO.CWD]PL_CWD.EXE
 Cwd.opt/Option,[--]perlshr_attr.opt/Option
  %LINK-W-SHRWRNERS, compilation warnings
  in shareable image file
 DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1
  %MMK-F-ERRUPD, error status %X10648268 occurred when updating target
 [--.LIB.AUTO.CWD]PL_CWD.EXE
  %MMK-F-ERRUPD, error status %X10648268 occurred when updating target
 [--.LIB.AUTO.CWD]PL_CWD.EXE
  Unsuccessful make(dist/Cwd): code=1024 at make_ext.pl line 466.
  %NONAME-F-NOMSG, Message number 0C14803C
  %MMK-F-ERRUPD, error status %X0C14803C occurred when updating target
 DYNEXT

 This is almost certainly a symptom of not getting completely cleaned up
 after the compiler warnings you reported earlier.

 
  I looked further up in the build log and found this:
 
  Link /NoTrace/NoMap/Share=PERLSHR.EXE DynaLoader.obj,
 []perlshr_bld.opt/Option, perlshr_attr.opt/Option
  %LINK-W-NOSUCHMOD, module PERL not found
  in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
  %LINK-W-NOSUCHMOD, module GLOBALS not found
  in library DISK$USERS:[pfau.FREEWARE.perl-5_16_2]LIBPERL.OLB;1
  Link /NoTrace/NoMap/THREADS=(MULTIPLE_KERNEL,UPCALLS)/Exe=PERL.EXE
 perlmain.obj, perlshr.opt/Option, perlshr_attr.opt/Option ,[]crt$
  %LINK-W-SHRWRNERS, compilation warnings
  in shareable image file
 DISK$USERS:[pfau.FREEWARE.perl-5_16_2]PERLSHR.EXE;1
 
  Any ideas?

 Something went wrong compiling globals.c and/or perl.c.  If you have
 compiler warnings or failures that we haven't addressed yet, that would be
 the place to start.  If there aren't any that we haven't dealt with, then
 you haven't been getting the results of the previous compiles cleaned up
 adequately.

  BTW, is threading supported on VMS?

 It is, but you don't get it unless you configure with -Dusethreads.  My
 link looked like:

 $ sea  sys$login:build_5_16_2.log exe=perl
 Link /NoTrace/NoMap/Exe=PERL.EXE perlmain.obj, perlshr.opt/Option,
 perlshr_attr.opt/Option ,[]crtl.opt/Options


 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


perl on vms website

2012-12-21 Thread Thomas Pfau
A Google search for vms perl returns www.sidhe.org/*vmsperl*/ and www.*
vmsperl*.com/ among the top results.  Neither of these has current
information about Perl on VMS.  The first refers to Perl 5.6.1 (released in
2000) and the other contains no information at all.

Could we get some more recent information about Perl on VMS on one of these
sites or create a new site for this purpose?  Or are we relying on HP to
keep vital information updated on their VMS Perl page?  I'll volunteer some
time to get this off the ground if others are interested and someone
provides a server.

-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: perl on vms website

2012-12-21 Thread Thomas Pfau
I'd really like to see what versions can be expected to compile on what
platforms.  I was trying to load 5.14.2 today on Itanium at work and kept
running into problems.  I think the last thing I saw anyone talk about on
the mailing list was 5.12.  I'd hate to start a build that had no hopes of
finishing successfully on my Alpha workstation at home.  It would be nice
to have a matrix of hardware/vms version/perl version describing what works
and what needs work.

On Fri, Dec 21, 2012 at 7:25 PM, Craig A. Berry craigbe...@mac.com wrote:


 On Dec 21, 2012, at 5:04 PM, Thomas Pfau tfp...@gmail.com wrote:

  A Google search for vms perl returns www.sidhe.org/vmsperl/ and
 www.vmsperl.com/ among the top results.  Neither of these has current
 information about Perl on VMS.  The first refers to Perl 5.6.1 (released in
 2000) and the other contains no information at all.
 
  Could we get some more recent information about Perl on VMS on one of
 these sites or create a new site for this purpose?  Or are we relying on HP
 to keep vital information updated on their VMS Perl page?  I'll volunteer
 some time to get this off the ground if others are interested and someone
 provides a server.

 Bless you, that would be fabulous.  I was not aware of the vmsperl.comdomain; 
 I would guess it's just someone parking on it.

 The sidhe.org site is owned by Dan Sugalski.  I used to have access to it
 (maybe I still do) but I'm afraid I've never found time to do anything with
 it.  I vaguely recall someone else volunteering to update it a few years
 ago, but that never happened.

 There are places to follow what's going on, such as this mailing list, or
 seeing what I've been up to in git history: 
 http://perl5.git.perl.org/perl.git?a=searchh=HEADst=authors=craigberry.
  But it would be very nice to have a simple, friendly site that would show
 up in web searches.

 The perl.org site is looking rather nice these days and I'd be willing to
 ask if we could get vmsperl.perl.org or perl.org/vmsperl and just use
 their stylesheets and so on.



 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


perl 5.16.2 build problems

2012-12-21 Thread Thomas Pfau
I ran configure.com and selected large integer support but not maximal and
not large double.

DISK$USERS:[pfau.FREEWARE.perl-5_16_2.vms]vmsish.h;1 copied to
DISK$USERS:[PFAU.FREEWARE.perl-5_16_2]vmsish.h;1 (58 blocks)
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/float=ieee/ieee=denorm/NAMES=(AS_IS,SHORTENED)/Define=(PERL_CORE,_USE_STD_STAT=1)
MINIPERLMAIN.C

#undef NV_PRESERVES_UV
..^
An unexpected newline character is present in a string literal.
at line number 4525 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]config.h;1

#undef NV_PRESERVES_UV
...^
#undef directive is not followed by an identifier and is being ignored.
at line number 4525 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]config.h;1
Error status %X10B91262 occurred when updating target MINIPERLMAIN.OBJ

Removing the quote character allows the build to proceed past this point.
Configure.com line 5668 contains the following:

   $   d_nv_preserves_uv = undef

The double quotation mark at the end gets parsed as a quotation mark
inserted into the string.

MCR SYS$DISK:[]generate_uudmap.exe uudmap.h bitcount.h mg_data.h
Action did not update target BITCOUNT.H
Action did not update target MG_DATA.H

I'm not sure if this is a problem or not.

CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/float=ieee/ieee=denorm/NAMES=(AS_IS,SHORTENED)/Def
ine=(PERL_CORE,_USE_STD_STAT=1) NUMERIC.C

return NV_MAX;
...^
In this statement, floating-point overflow occurs in evaluating the
expression 1.189731495357231765085759326628007016196477e4932l.
at line number 810 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]numeric.c;1
Error status %X10B91260 occurred when updating target NUMERIC.OBJ

I can get past this if I use MMK/IGNORE=WARNING.

CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/float=ieee/ieee=denorm/NAMES=(AS_IS,SHORTENED)/Def
ine=(PERL_CORE,_USE_STD_STAT=1) PP.C

NV (*func)(NV) = Perl_sin;
.^
%CC-W-PTRMISMATCH, In the initializer for func, the referenced type of the
pointer value sinl is function (long double) returning
 long double, which is not compatible with function (double) returning
double.
at line number 2691 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]pp.c;1

func = Perl_cos;
^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer
value cosl is function (long double) returning long doub
le, which is not compatible with function (double) returning double.
at line number 2697 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]pp.c;1

func = Perl_exp;
^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer
value expl is function (long double) returning long doub
le, which is not compatible with function (double) returning double.
at line number 2701 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]pp.c;1

func = Perl_log;
^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer
value logl is function (long double) returning long doub
le, which is not compatible with function (double) returning double.
at line number 2705 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]pp.c;1

func = Perl_sqrt;
^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer
value sqrtl is function (long double) returning long dou
ble, which is not compatible with function (double) returning double.
at line number 2710 in file DISK$USERS:[pfau.FREEWARE.perl-5_16_2]pp.c;1
CC/DECC/NOANSI_ALIAS
/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/float=ieee/ieee=denorm/NAMES=(AS_IS,SHORTENED)/Def
ine=(PERL_CORE,_USE_STD_STAT=1) PP_PACK.C

cdouble = Perl_modf(cdouble / anv, trouble) * anv;
..^
%CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer
value trouble is double, which is not compatible with
long double.
at line number 2221 in file
DISK$USERS:[pfau.FREEWARE.perl-5_16_2]pp_pack.c;1

Not sure if these will become problems but I would guess they will be.

At this point miniperl gets built ok and it starts to build modules.  I'll
have more when I hit those errors.

-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


Re: scp to VMS (Re: mms case sensitivity build failures (was Re: HP hobbyist license))

2012-05-17 Thread Thomas Pfau
I understand this problem is fixed with the new ssh that comes with OpenVMS
8.4.  Prior to this, scp does not work to openssh systems.

On Wed, May 16, 2012 at 11:17 PM, Craig A. Berry craigbe...@mac.com wrote:


 On May 16, 2012, at 11:36 AM, Mark Berryman wrote:

  1: Is there any easy way to get an scp2 client for Unix, so that I can
 scp
   to them? (And use editors remotely)
 
  SCP clients definitely work to VMS systems as I use them extensively.
  It has been awhile since I set up a TCPIP Services system (I use Multinet
 myself) but, if you have any error messages or log files, especially from
 the VMS side, I may be able to help.
 

 I'm almost positive scp only works with Multinet, not TCP/IP Services.
  IIRC, the HP scp server errors out with something about not talking SSH
 1.0, only 2.0, but in fact it is its own fault for failing to recognize the
 2.0 handshake sent by the client.

 If someone has a contrary example of using a modern scp client to talk to
 the TCP/IP Services server, I'd love to know how to make it work.

 
 Craig A. Berry
 mailto:craigbe...@mac.com

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




-- 
Thomas Pfau
tfp...@gmail.com
http://www.linkedin.com/in/thomaspfau
http://nbpfaus.net/~pfau/


mailing list subscriptions

2010-09-01 Thread Thomas Pfau
I want to move my subscription to this list to another email address.  The only 
address I can find for mailing list maintenance is majord...@perl.org but it 
doesn't seem to be a valid address.  Does someone know the correct address for 
this?  Is there a web interface?

Re: mailing list subscriptions

2010-09-01 Thread Thomas Pfau
Never mind, I found it.

On Sep 1, 2010, at 20:57 54, Thomas Pfau wrote:

 I want to move my subscription to this list to another email address.  The 
 only address I can find for mailing list maintenance is majord...@perl.org 
 but it doesn't seem to be a valid address.  Does someone know the correct 
 address for this?  Is there a web interface?



Re: SMG keyboard interface

2010-08-04 Thread Thomas Pfau

On Aug 3, 2010, at 23:04 49, Craig A. Berry wrote:

 
 On Aug 3, 2010, at 5:19 PM, Thomas Pfau wrote:
 
 I've been hacking around with some code that interfaces to SMG's keyboard 
 routines.  The module exposes SMG$READ_STRING, SMG$READ_COMPOSED_LINE and 
 SMG$READ_KEYSTROKE.  I also created a Term::ReadLine::SMG that uses this 
 module.  If anyone is interested, I'll clean it up, put on the finishing 
 touches and upload it to CPAN.
 
 Very interesting -- I'd like to see it on CPAN.  Does it bear any resemblance 
 to the very old one here:
 
 ftp://ftp.sidhe.org/smg.zip
 
 ?

That code  implements display routines.  It has some input routines but not 
SMG$READ_COMPOSED_LINE.  Mine only has the keyboard routines.

SMG keyboard interface

2010-08-03 Thread Thomas Pfau
I've been hacking around with some code that interfaces to SMG's keyboard 
routines.  The module exposes SMG$READ_STRING, SMG$READ_COMPOSED_LINE and 
SMG$READ_KEYSTROKE.  I also created a Term::ReadLine::SMG that uses this 
module.  If anyone is interested, I'll clean it up, put on the finishing 
touches and upload it to CPAN.



Re: VMS::Persona

2009-07-21 Thread Thomas Pfau
Carl Friedberg wrote:
 Is anyone using VMS::Persona? If not, I'll quit
 here.
   
I believe it may have been used by one of the webservers.  I recall
coming across persona stuff while trying to implement a website a long
time ago.  It might have been a perl environment provided for the OSU
server and it might have actually been outside the perl code; i.e., C
code called the persona stuff to set up the environment before starting
a perl interpreter.  I just looked through my web links and didn't see
the package I was looking for.  I'll look some more tomorrow.


VMS::Logical

2009-06-27 Thread Thomas Pfau
I finally got around to uploading this to CPAN.  I made some very minor
changes and created version 0.4 which is available on CPAN and at
http://axp1.nbpfaus.net/~pfau/.  I also attempted to register the
VMS::Logical namespace.


Re: getting new VMS extensions into Perl (was Re: [blead 2009-05-29.22:08:17] vms.c EFS logical name fix.)

2009-06-11 Thread Thomas Pfau

Craig A. Berry wrote:
 On Jun 10, 2009, at 7:29 PM, John E. Malmberg wrote:

 Thomas Pfau wrote:
 John E. Malmberg wrote:
 We really need to get some sort of logical name support that we can
 count on being bundled with Perl on VMS.
 My VMS::Logical module appears to work.  I don't think I ever
 uploaded it
 to CPAN but I could do that.
 http://axp1.nbpfaus.net/~pfau/perl/VMS-LOGICAL-0_3.ZIP

 That would be great.  If that poses any problem for you I'd be happy
 to do it with your permission.

No problem.  I have a PAUSE account.  I'll try to remember to upload it
tonight.

-- 
tom_p
http://nbpfaus.net/



Re: [blead 2009-05-29.22:08:17] vms.c EFS logical name fix.

2009-06-10 Thread Thomas Pfau

John E. Malmberg wrote:
 We really need to get some sort of logical name support that we can
 count on being bundled with Perl on VMS.

My VMS::Logical module appears to work.  I don't think I ever uploaded it
to CPAN but I could do that.

http://axp1.nbpfaus.net/~pfau/perl/VMS-LOGICAL-0_3.ZIP

-- 
tom_p
http://nbpfaus.net/



problem with MAKE_EXT.COM

2007-10-27 Thread Thomas Pfau
I reported a problem with the build dying with the following after
building VMS/Stdio:

%RMS-F-DIR, error in directory name
%RMS-F-DIR, error in directory name
%MMK-F-ERRUPD, error status %X100184CC occurred when updating target DYNEXT

The following code fragment comes from the end of MAKE_EXT.COM:

$ done:
$sts = $Status
$Set Def def
$Exit sts

The symbol 'def' is never set anywhere.  Upon entering the procedure,
the current default directory is captured in symbol 'mydefault'.  After
replacing 'def' with 'mydefault' the build continues on to completion.




build error

2007-10-26 Thread Thomas Pfau
perl-current dated 10/25 8:55

VAX/OpenVMS V7.3 on Simh

This is the MadGoat Make Utility V3.9-1
Copyright © 1992-2001, MadGoat Software.  All Rights Reserved.

Compaq C V6.4-005 on OpenVMS VAX V7.3   

I had to compile Ext/Digest/Sha/Sha.c manually with optimization turned
off. After restarting the build, it ended with the following.

Making VMS/Stdio (dynamic)
Writing Descrip.MMS for VMS::Stdio
cp stdio.pm [---.lib.vms]stdio.pm
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-e use ExtUtils::Mksymlists;   -e Mksymlists('NAME' = 'VMS::Stdio',
'DL_FUNCS' = {  }, 'DL_VARS' = [], 'FUNCLIST' = [])
MCR simh04$dua1:[perl-current]miniperl.exe -e print
[---.lib.auto.VMS.Stdio]Stdio.olb/Include=Stdio\n[---.lib.auto.VMS.Stdio]Stdio.olb/Library\n;
STDIO.OPT
MCR simh04$dua1:[perl-current]miniperl.exe -e print
qq{[---]PerlShr.exe/Share\n} STDIO.OPT
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e cp STDIO.OPT [---.LIB.AUTO.VMS.STDIO]STDIO.OPT
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
[---.lib.ExtUtils]xsubpp  -typemap [---.lib.ExtUtils]typemap STDIO.xs
STDIO.C
CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
/Define=(VERSION=2.3,XS_VERSION=2.3)/Include=([---])/NoList 
STDIO.c
If F$Search([---.LIB.AUTO.VMS.STDIO]STDIO.OLB).eqs. Then
Library/Object/Create [---.LIB.AUTO.VMS.STDIO]STDIO.OLB
Library/Object/Replace [---.LIB.AUTO.VMS.STDIO]STDIO.OLB STDIO.OBJ
If F$TrnLNm(PerlShr).eqs. Then Define/NoLog/User PerlShr
Sys$Share:PerlShr.exe
Link /NoTrace/NoMap /Shareable=[---.LIB.AUTO.VMS.STDIO]PL_VMS__STDIO.EXE
Stdio.opt/Option,[---]perlshr_attr.opt/Option
Running Mkbootstrap for VMS::Stdio ()
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e chmod 644 STDIO.BS
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e cp Stdio.bs [---.LIB.AUTO.VMS.STDIO]STDIO.BS
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e chmod 644 [---.LIB.AUTO.VMS.STDIO]STDIO.BS
Error in directory name
Error in directory name
Error status %X100184CC occurred when updating target DYNEXT



Re: Perl 5.10.0 getting close: please test

2007-10-25 Thread Thomas Pfau
Vorländer wrote:
 John E. Malmberg [EMAIL PROTECTED] wrote:
   
 Thomas Pfau wrote:
 
 I just snagged a copy to try to build under Simh.  It wouldn't build
 with MMS.  I tried again using MMK but it got hung compiling
 Ext/Digest/Sha/Sha.c.  It grew to consume all available working set and
 then went totally CPU bound - no IO, no faults, nothing, just compute. 
 Stayed that way for about an hour before I killed it.  I just started
 another build after removing Digest::Sha from the list of builtins.
   
 That sounds like a known bug in the VAX DECC optimizer, PYTHON on VAX 
 has a similar problem.  If we can find the offending routine, it may be 
 possible to put a VAX specific DECC pragma around it to disable 
 optimization for that routine to fix it.
 
 For the time being, a workaround would be to break out of the build,
 compile SHA.C by hand with /NOOPTIMIZE, and restart the build.
 I remember doing exactly that at some time to get perl to build.
   
I compiled it manually with /NOOPTIMIZE and it completed fairly quickly.

I don't see any #pragma directives that control optimization in the
compiler help.  How do you turn optimization on and off?


Re: Perl 5.10.0 getting close: please test

2007-10-25 Thread Thomas Pfau
Thomas Pfau wrote:
 Vorländer, Martin wrote:
   
 Thomas Pfau [EMAIL PROTECTED] wrote
 
 I don't see any #pragma directives that control optimization in the
 compiler help.  How do you turn optimization on and off?
   
 $ cc/version
 Compaq C V6.5-001 on OpenVMS Alpha V7.3-2
 $ help cc lang preproc #pragma
 ...
 #pragma optimize[_m|_nm]
 

 I'll check the version of my C Compiler when I get home tonight but I
 think it's older and it's the VAX version.  I didn't see #pragma optimize
 in the help text.  I'm having trouble locating a recent copy of a OpenVMS
 VAX consolidated distribution disk.

   
$ CC/VER
Compaq C V6.4-005 on OpenVMS VAX V7.3   

I left the build running when I went to work this morning.  This is
where it stopped.

Making VMS/Stdio (dynamic)
Writing Descrip.MMS for VMS::Stdio
cp stdio.pm [---.lib.vms]stdio.pm
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-e use ExtUtils::Mksymlists;   -e Mksymlists('NAME' = 'VMS::Stdio',
'DL_FUNCS' = {  }, 'DL_VARS' = [], 'FUNCLIST' = [])
MCR simh04$dua1:[perl-current]miniperl.exe -e print
[---.lib.auto.VMS.Stdio]Stdio.olb/Include=Stdio\n[---.lib.auto.VMS.Stdio]Stdio.olb/Library\n;
STDIO.OPT
MCR simh04$dua1:[perl-current]miniperl.exe -e print
qq{[---]PerlShr.exe/Share\n} STDIO.OPT
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e cp STDIO.OPT [---.LIB.AUTO.VMS.STDIO]STDIO.OPT
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
[---.lib.ExtUtils]xsubpp  -typemap [---.lib.ExtUtils]typemap STDIO.xs
STDIO.C
CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
/Define=(VERSION=2.3,XS_VERSION=2.3)/Include=([---])/NoList 
STDIO.c
If F$Search([---.LIB.AUTO.VMS.STDIO]STDIO.OLB).eqs. Then
Library/Object/Create [---.LIB.AUTO.VMS.STDIO]STDIO.OLB
Library/Object/Replace [---.LIB.AUTO.VMS.STDIO]STDIO.OLB STDIO.OBJ
If F$TrnLNm(PerlShr).eqs. Then Define/NoLog/User PerlShr
Sys$Share:PerlShr.exe
Link /NoTrace/NoMap /Shareable=[---.LIB.AUTO.VMS.STDIO]PL_VMS__STDIO.EXE
Stdio.opt/Option,[---]perlshr_attr.opt/Option
Running Mkbootstrap for VMS::Stdio ()
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e chmod 644 STDIO.BS
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e cp Stdio.bs [---.LIB.AUTO.VMS.STDIO]STDIO.BS
MCR simh04$dua1:[perl-current]miniperl.exe -I[---.lib] -I[---.lib]
-MExtUtils::Command -e chmod 644 [---.LIB.AUTO.VMS.STDIO]STDIO.BS
Error in directory name
Error in directory name
Error status %X100184CC occurred when updating target DYNEXT




Re: Any CMS users?

2007-02-23 Thread Thomas Pfau
Craig A. Berry wrote:
 I'm afraid we never got approval to get CMS at the day job, but I can
 think of all sorts of useful things that would come from having a
 Perl interface.  You could build a repository browser similar in
 principle to the Perl Repository Browser
 http://public.activestate.com/cgi-bin/perlbrowse.  You could
 automate various maintenance and reporting functions, etc.  I hope
 this works out for you as it would be a nifty package.
   
My problem was working with change sets.  The perl module and some DCL
allowed me to get control of change management.  I might have a half
dozen changes in the works at any given time.  Each change becomes a
branch.  Eventually, branches get merged to the test environment and if
successfully tested they get merged to production.  A branch might get
merged with other changes into a new branch to be tested and installed
together.  Perl helps with merging - using the CMS interface, it figures
out if the change is directly descended from the merge version and if so
it does a fetch.  Otherwise, it performs a CMS merge and stalls if
necessary for me to resolve conflicts.  CMS groups are used to track
what files were changed in any change set.  All this over several
directories each with its own CMS repository.

I got four responses in a week on a low traffic mailing list.  Hopefully
that will show some outside interest and get someone's attention to act
on my request.  If anyone else is interested, please let me know.  The
more ammunition the better.

-- 
tom_p
[EMAIL PROTECTED] -- http://nbpfaus.net/~pfau/



Any CMS users?

2007-02-14 Thread Thomas Pfau
Does anyone use CMS?  I wrote an XS package to interface to CMS to make 
supporting my system at work easier.  I have asked about releasing it as 
open source but the request isn't moving too well.  If anyone is 
interested, please reply.  Maybe if I can show that there's some 
interest I could get the request to release moving again.


--
tom_p
[EMAIL PROTECTED] -- http://nbpfaus.net/~pfau/



set process name

2006-08-21 Thread Thomas Pfau

To whoever wanted to set their process name from perl,

I took VMS::Process and made the following changes:

1) Add the following to the end of process.xs:

-- cut here ---

int
setprn(newname)
   char *newname
   CODE:
   {
   int descr[2];
   descr[0] = strlen(newname);
   descr[1] = (int) newname;
   RETVAL = sys$setprn(descr);
   }
   OUTPUT:
   RETVAL
-- cut here ---

2) Add 'setprn' to @EXPORT_OK in process.pm

Use like this:

-- cut here ---
use VMS::Process qw(get_all_proc_info_items setprn);

my $info = get_all_proc_info_items(0);
setprn(scalar reverse($info-{PRCNAM}));
-- cut here ---

The return value is the status returned by the system service.

--
tom_p
[EMAIL PROTECTED] -- http://nbpfaus.net/~pfau/



Re: perlvms - VMS-specific documentation for Perl

2006-08-18 Thread Thomas Pfau
Getting PID and setting a new name for a process running the Perlscript.

 I don't know of a programmatic way to change the process name in any
 language, but I could be forgetting something.  I suspect SET PROCESS
 whacks the process header directly and there is no API that does this.

The SYS$SETPRN system service changes the process name.  I don't know of
any perl modules that provide an interface to this, though.

Run/detached of other programs.

 There is no general interface to SYS$CREPRC from Perl that I'm aware
 of.  That sounds like a nice candidate for a new extension if there
 are any aspiring extension writers out there.

I'd write both of these (they'd be quite simple) if not for my employee IP
agreement.

---
tom_p
http://nbpfaus.net/~pfau/




[Fwd: Re: How to find memory leak?]

2006-02-28 Thread Thomas Pfau
I had meant to send this to the list but hit 'reply' instead of 'reply 
all'...


--
tom_p
[EMAIL PROTECTED] -- http://nbpfaus.net/~pfau/

---BeginMessage---

Craig A. Berry wrote:


At 6:30 PM -0500 2/24/06, Thomas Pfau wrote:
 


What facilities are in perl to debug memory allocation issues?
   



You can run your script with the memory debug option enabled:

$ perl -Dm myscript.pl

That will log the memory allocations and deallocations, at least when
Perl's memory API is used.

I had to rebuild my perl since it wasn't built with -DDEBUGGING.  Took 
the opportunity to upgrade from 5.8.6 to 5.8.8.


Anyway, with the new perl, the info above, and a little script to match 
allocations to deallocations, I managed to find some major leaks in 
VMS::Device and VMS::Queue.  Patches below.  These have not been 
extensively tested but my scripts now run with significantly less 
leakage.  It appears to still leak small amounts of memory but nothing 
like before.



--- vms-device-0_08/device.xs   Mon Dec 18 17:13:04 2000
+++ vms-device-0_09/device.xs   Mon Feb 27 13:09:08 2006
@@ -2700,7 +2700,7 @@
  /* Did it go OK? */
  if (status == SS$_NORMAL) {
/* Looks like it */
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
for (i = 0; i  DevInfoCount; i++) {
  switch(OurDataList[i].ReturnType) {
  case IS_STRING:
@@ -2854,7 +2854,7 @@
{
  HV *AllPurposeHV;
  if (!strcmp(InfoName, DEVCHAR)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
dev_bit_test(AllPurposeHV, REC, BitmapValue);
dev_bit_test(AllPurposeHV, CCL, BitmapValue);
dev_bit_test(AllPurposeHV, TRM, BitmapValue);
@@ -2885,7 +2885,7 @@
dev_bit_test(AllPurposeHV, WCK, BitmapValue);
  } else {
  if (!strcmp(InfoName, DEVCHAR2)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
dev_bit_test(AllPurposeHV, CLU, BitmapValue);
dev_bit_test(AllPurposeHV, DET, BitmapValue);
dev_bit_test(AllPurposeHV, RTT, BitmapValue);
@@ -2915,7 +2915,7 @@
dev_bit_test(AllPurposeHV, NOFE, BitmapValue);
  } else {
  if (!strcmp(InfoName, STS)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
ucb_bit_test(AllPurposeHV, TIM, BitmapValue)
ucb_bit_test(AllPurposeHV, INT, BitmapValue)
ucb_bit_test(AllPurposeHV, ERLOGIP, BitmapValue)
@@ -2935,7 +2935,7 @@
ucb_bit_test(AllPurposeHV, DELETEUCB, BitmapValue)
  } else {
  if (!strcmp(InfoName, TT_CHARSET)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
ttc_bit_test(AllPurposeHV, HANGUL, BitmapValue);
ttc_bit_test(AllPurposeHV, HANYU, BitmapValue);
ttc_bit_test(AllPurposeHV, HANZI, BitmapValue);
@@ -2944,7 +2944,7 @@
ttc_bit_test(AllPurposeHV, THAI, BitmapValue);
  
  if (AllPurposeHV) {
-XPUSHs(newRV((SV *)AllPurposeHV));
+XPUSHs(newRV_noinc((SV *)AllPurposeHV));
  } else {
XPUSHs(PL_sv_undef);
  }

--- vms-queue-0_57/queue.xs Wed May 30 17:18:05 2001
+++ vms-queue-0_58/queue.xs Mon Feb 27 12:25:30 2006
@@ -1031,7 +1031,7 @@
{
  HV *AllPurposeHV;
  if (!strcmp(InfoName, FORM_FLAGS)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
bit_test(AllPurposeHV, QUI$M_FORM_SHEET_FEED, FORM_SHEET_FEED,
 BitmapValue);
bit_test(AllPurposeHV, QUI$M_FORM_TRUNCATE, FORM_TRUNCATE,
@@ -1039,7 +1039,7 @@
bit_test(AllPurposeHV, QUI$M_FORM_WRAP, FORM_WRAP, BitmapValue);
  } else {
  if (!strcmp(InfoName, FILE_FLAGS)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
bit_test(AllPurposeHV, QUI$M_FILE_BURST, FILE_BURST,
 BitmapValue);
bit_test(AllPurposeHV, QUI$M_FILE_DELETE, FILE_DELETE,
@@ -1058,14 +1058,14 @@
 BitmapValue);
  } else {
  if (!strcmp(InfoName, FILE_STATUS)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
bit_test(AllPurposeHV, QUI$M_FILE_CHECKPOINTED, FILE_CHECKPOINTED,
 BitmapValue);
bit_test(AllPurposeHV, QUI$M_FILE_EXECUTING, FILE_EXECUTING,
 BitmapValue);
  } else {
  if (!strcmp(InfoName, JOB_FLAGS)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
bit_test(AllPurposeHV, QUI$M_JOB_CPU_LIMIT, JOB_CPU_LIMIT, 
BitmapValue);

bit_test(AllPurposeHV, QUI$M_JOB_ERROR_RETENTION,
 JOB_ERROR_RETENTION, BitmapValue);
@@ -1096,7 +1096,7 @@
bit_test(AllPurposeHV, QUI$M_JOB_WSQUOTA, JOB_WSQUOTA, BitmapValue);
  } else {
  if (!strcmp(InfoName, JOB_STATUS)) {
-AllPurposeHV = newHV();
+AllPurposeHV = (HV*)sv_2mortal((SV*)newHV());
bit_test(AllPurposeHV, QUI$M_JOB_ABORTING, JOB_ABORTING, 
BitmapValue);
bit_test(AllPurposeHV, QUI$M_JOB_EXECUTING, JOB_EXECUTING, 
BitmapValue);

bit_test(AllPurposeHV, QUI$M_JOB_HOLDING, JOB_HOLDING, BitmapValue);
@@ -1112,7 +1112,7 @@
 BitmapValue);
  } else {
  if (!strcmp(InfoName, MANAGER_FLAGS

How to find memory leak?

2006-02-24 Thread Thomas Pfau
I wrote a script that was supposed to monitor certain system conditions 
and email me if things weren't right.  It ran for about 18 hours and 
died complaining about no memory.  I'm using a couple of VMS modules - 
VMS::Device and VMS::Queue - and suspect one or the other (or both) is 
leaking memory.  I seem to recall Dan Sugalski's comments stating that 
there might be some leaks.


I've done a little XS but not enough to understand all of the reference 
counting issues.  What facilities are in perl to debug memory allocation 
issues?


--
tom_p
[EMAIL PROTECTED] -- http://nbpfaus.net/~pfau/



Re: License

2006-01-07 Thread Thomas Pfau

Gerson Freire de Amorim Filho wrote:


Hello all.
Can anyone borrow me a VAX/VMS license (may be a hobbyst license) for some 
days?



You can get hobbyist licenses for free from http://www.openvmshobbyist.com/.




Re: problems building smg

2005-12-01 Thread Thomas Pfau

Thomas Pfau wrote:


Carl Friedberg wrote:


Hi,

This is probably a FAQ, but I am trying to resurrect the VMS SMG 
module.  


Where can I download this module?


Never mind, I just found it.

--
tom_p
[EMAIL PROTECTED] -- http://nbpfaus.net/~pfau/



Re: problems building smg

2005-12-01 Thread Thomas Pfau

Carl Friedberg wrote:


Thomas,

I'll be glad to e-mail it to you; it's a zip
file, 25kb.
 

Thanks but no need.  I found it in the author's directory.  It didn't 
show up on any searches.


I downloaded it and it built with no problems on VMS 6.2 on VAX (simh) 
using perl 5.8.4.  The only problem was the compiler complaining about 
the routines not being declared.  Converting the calls from upper to 
lower case solved that.  I didn't attempt to use the code although I 
might play with it at work tomorrow (VMS 8.2 on Alpha).


--
tom_p
[EMAIL PROTECTED] -- http://nbpfaus.net/~pfau/



Re: MMK manual wanted

2004-12-17 Thread Thomas Pfau
Michael G Schwern wrote:
Hi.  I need a copy of the MMK manual suitable for reading on a Unix machine.  
I tried using the one in the MMK.zip archive.  The text file was full of
nulls and the postscript docs were corrupt.

Could someone convert the documentation into a Unixy text file?  It would
help with MakeMaker development.
 

Try http://nbpfaus.net/~pfau/mmk_doc.ps or 
http://nbpfaus.net/~pfau/mmk_doc.txt.



Re: Cannot build bleadperl on OpenVMS

2004-10-02 Thread Thomas Pfau
Make sure you have the latest version of MMK or use MMS.  I recently 
built 5.8.4 on VAX with an older MMK and ran into some strange 
problems.  It built fine after I installed the latest MMK.



Re: Perl 5.8.4 easy-to-build source: results

2004-08-30 Thread Thomas Pfau
Thomas R Wyant_III wrote:
Craig A. Berry [EMAIL PROTECTED] wrote on 08/25/2004 11:13:57 PM:
 

I finally did the test_verbose=1. What happened was that I had defined 
global symbol D*IRECTORY == DIRECTORY/DATE/SIZE=ALL. VMS::FindFile's 
test works by comparing its results to those of a spawned 
DIRECTORY/NOHEAD/NOTRAIL/COLUMNS=1, so it failed when run under my 
username. The login.com for the system account does not mess with the 
dir command, so the test doesn't fail there. To badly misquote Mae West: 
Privilige had nothin' to do with it.
 

There are a few standard cures for this type of situation.  The first 
would be to define a symbol to invoke the command or at least to make 
sure that the base command will be invoked with no options.  DCL does 
not translate symbols iteratively so '$ DIRECTORY = DIRECTORY' would 
make sure that no extra options are being picked up by an external 
symbol definition.

Another option is to take advantage of the fact that DCL only looks at 
the first four characters of a verb when parsing.  You could use the 
first four characters followed by an underscore to make sure the 
unmodified command is executed.  Something like '$ 
DIRE_/NOHEAD/NOTRAIL/COLUMNS=1'.

The other way I know to work around this is to define a blank symbol to 
use as a prefix for all commands.  Something like this:

   $ REALLY = 
   $ REALLY DIRECTORY/NOHEAD/NOTRAIL/COLUMNS=1
You can also play games with SET SCOPE.
open IN, directory/nohead/notrail/column=1 []*.*; | || die Couldn't 
open pipe\n;
 

The easiest way to fix this would probably be the second option above.


Re: Building on VAX fails, can someone give me a clue?

2004-07-27 Thread Thomas Pfau
Richard Levitte - VMS Whacker wrote:
I've tried building Perl 5.8.4 and 5.8.5 on VAX, with exactly the same
result, it ends like this:
 CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj /Define=(VERSION=2.01,XS_VERSION=2.01)/Include=([--],[.Encode])/NoList  ENCODE.c
 %CLI-F-OPENIN, error opening RL_LOCAL:[00.PERL-5_8_5.EXT.ENCODE]ENCODE.C;
  as input
 -RMS-E-FNF, file not found
 

I had a similar problem when I first started trying to build on VAX/VMS 
6.2.  Building with MMS worked fine however.  I managed to get through a 
build with MMK by grabbing the latest version.  V3.8 was the one that 
failed for me.



Perl 5.8.4 for OpenVMS VAX 6.2

2004-07-26 Thread Thomas Pfau
I have a compressed backup of my Perl 5.8.4 build on OpenVMS VAX V6.2 
available.  It is built with all core modules except Time::HiRes. It 
also includes the following modules:

Data-FixedFormat-0_03.zip
VMS-FlatFile-0_02.zip
These two are my modules and may be newer than what's on CPAN.  I'll 
eventually get around to uploading them.

VMS-Device-0_08_1.zip
VMS-IndexedFile-0_02.zip
VMS-Misc-1_01.zip
VMS-Monitor-0_06_1.zip
VMS-Process-1_06_1.zip
VMS-Queue-0_57_1.zip
VMS-System-1_04_1.zip
Some of these have been slightly modified from what's available on 
CPAN.  Some minor modifications were necessary to get them to build.

All of the above and perl-5_8_4.bck-gz are available at 
http://nbpfaus.net/~pfau/perl/vms/.  Please have mercy - it's a low 
speed DSL connection.


Re: Anyone still using OpenVMS/VAX 6.2?

2004-07-24 Thread Thomas Pfau
Thomas Pfau wrote:
Craig A. Berry wrote:
If you get no
indication whatsoever that something misfired under the hood, that's
worth noting. What happens of you do this with your D_FLOAT compiled 
perl:

$ perl -e $x = 1.36514538e67; print $x;
$ show symbol $status

Perl just exits to DCL.  $STATUS is %X148C which translates to 
'Arithmetic trap, floating overflow'.  My /G_FLOAT build is running 
now on SIMH.  I'll see how it works tomorrow but I suspect it will be 
the same.
With /G_FLOAT, the above works but if I change the exponent from 67 to 
310 it behaves the same.


Re: Anyone still using OpenVMS/VAX 6.2?

2004-07-23 Thread Thomas Pfau
Craig A. Berry wrote:
At 10:43 PM -0400 7/22/04, Thomas Pfau wrote:
I'll dig into the pack problem a little and see what I can come up with.  That one's pretty important to me.
   

There's a high probability the pack problem is floating point related as well.
 

I started moving a '__END__' through pack.t to figure out why it 
wouldn't run.  It seemed to be dying without any notice during 
compilation as only BEGIN blocks would run.

I was about 2/3rds through the file when it stopped running.  I 
commented out the immediate section of code and was able to run what 
remained.  Uncommenting the section caused it to die again.

In that section of code, there are some large floating point constants 
(1.36514538e67).  The VAX range appears to be about 1.7e38.  I get the 
feeling that these are causing perl to crash but it doesn't even print 
any messages.  I have a perl script that prompts for perl code and 
executes it.  If I enter one of these numbers, the script 
unceremoniously exits.  If I try using very large floating point 
constants on linux, the variable gets assign 'inf' instead.

Is perl not trapping floating point exceptions properly on VMS?
Anyway, I reconfigured and rebuilt with /G_FLOAT today and op/pack.t 
passes but some other tests are now failing.  On Monday I'll compare the 
results of the first build with the results of the /G_FLOAT build to see 
what changed.  The tests hadn't completed before I left work today (3:43 
to build, will probably take as long to test).



Re: Anyone still using OpenVMS/VAX 6.2?

2004-07-23 Thread Thomas Pfau
Craig A. Berry wrote:
If you get no
indication whatsoever that something misfired under the hood, that's
worth noting. What happens of you do this with your D_FLOAT compiled 
perl:

$ perl -e $x = 1.36514538e67; print $x;
$ show symbol $status
Perl just exits to DCL.  $STATUS is %X148C which translates to 
'Arithmetic trap, floating overflow'.  My /G_FLOAT build is running now 
on SIMH.  I'll see how it works tomorrow but I suspect it will be the same.

Anyway, I reconfigured and rebuilt with /G_FLOAT today and op/pack.t 
passes but some other tests are now failing.  On Monday I'll compare 
the results of the first build with the results of the /G_FLOAT build 
to see what changed.  The tests hadn't completed before I left work 
today (3:43 to build, will probably take as long to test).

Perl has gotten very big, so it does take a very long time to build and
test on older hardware.
Gonna take even longer on SIMH.  The 3:43 was on a 4000/600.  SIMH 
performs like a MicroVAX II on my Athlon-XP 1600.  Disk I/O is pretty 
fast though being mostly satisfied from the linux disk cache.


Anyone still using OpenVMS/VAX 6.2?

2004-07-22 Thread Thomas Pfau
At work, our application still runs on VMS 6.2 on VAX systems.  I 
installed perl 5.8.0 last year and don't remember having any problems.  
Alas, I must have deleted the source tree after a successful build 
because I can't find them or any traces of the build other than the 
PERL_ROOT directory tree.

Anyway, I recently found SIMH (http://simh.trailing-edge.com/) and 
decided to give it a workout.  I figured I'd install 6.2 first since 
that's the version I'm familiar with and maybe later I could move to 
7.3.  A new VMS install needs a new perl install so I figured I'd try to 
build 5.8.4.  I hit errors during the build on both SIMH and the real 
VAXen at work.

The first problem I hit during the build was an attempt to use 
ioctl(SIOCATMARK).  VMS 6.2 doesn't support ioctl().  I ended up writing 
a vms_siocatmark() function using a QIO to plug into [.ext.io]io.xs.

The second problem was with Time::HiRes.  Although VMS 6.2 does not have 
many (if any) of the functions needed by this module, it's included in 
the default list of modules to build.  I reconfigured without this 
module but the test phase still tried to reference it.

Lastly, several tests failed.  MMS TEST doesn't reveal much information 
about failures so I tried using harness.  There were several things 
along the lines of 'unrecognized command verb \ECHO\' but also some real 
failures.  op/pack failed with what appears to be a floating point 
overflow.  Several Tie::File, Math::BigInt and Math::BigRat tests 
failed.  I can post the errors from the build logs if anyone is interested.

Does anyone know if any of these errors are serious?  Are they worth 
looking into or am I the last diehard still trying to use perl on 
VAX/VMS 6.2?


Re: Anyone still using OpenVMS/VAX 6.2?

2004-07-22 Thread Thomas Pfau
Craig A. Berry wrote:
At 7:10 PM -0400 7/22/04, Thomas Pfau wrote:
 

At work, our application still runs on VMS 6.2 on VAX systems.  I installed perl 5.8.0 
last year and don't remember having any problems.  Alas, I must have deleted the 
source tree after a successful build because I can't find them or any traces of the 
build other than the PERL_ROOT directory tree.
Anyway, I recently found SIMH (http://simh.trailing-edge.com/) and decided to give it a workout.  I figured I'd install 6.2 first since that's the version I'm familiar with and maybe later I could move to 7.3.  A new VMS install needs a new perl install so I figured I'd try to build 5.8.4.  I hit errors during the build on both SIMH and the real VAXen at work.
   

5.8.5 came out a couple of days ago but is unlikely to help with your
situation as no recent testing I'm aware of has been done on VAX or
on pre 7.x VMS.
 

That's what I was afraid of.  I'm really surprised it built and tested 
as clean as it did.

The first problem I hit during the build was an attempt to use ioctl(SIOCATMARK).  VMS 6.2 doesn't support ioctl().  I ended up writing a vms_siocatmark() function using a QIO to plug into [.ext.io]io.xs.
   

Good golly.  That sounds like a seriously useful bit of backporting
for folks in a similar situation.  It shouldn't be too hard to
determine from the appropriate appendix to the CRTL manual what
particular #ifdefs should go around this code to get it into the
sources.
 

As far as I can tell, none of the tests exercise this function.  All I 
know is it compiled clean.  I've never used out-of-band data on a TCP 
socket before so I don't know if I can come up with a good test for 
this.  It might be better to just make the routine unsupported on VMS 
pre-7.x unless someone needs it and can write a good test.

The second problem was with Time::HiRes.  Although VMS 6.2 does not have many (if any) of the functions needed by this module, it's included in the default list of modules to build.  I reconfigured without this module but the test phase still tried to reference it.
   

That should be  a simple matter of adding lines similar to the
following in the BEGIN block of the test:
   require Config; import Config;
   if ($Config{'extensions'} !~ /\bTime\/HiRes\b/) {
   print 1..0 # Skip: Time::HiRes was not built\n;
   exit 0;
   }
 

I'll plug that in and see if it works.
Lastly, several tests failed.  MMS TEST doesn't reveal much information about failures so I tried using harness. 
   

harness is the canonical unixy way to get more details.  The
idiomatic VMS way (documented in README.vms) is, for example:
$ @[.vms]test .exe  -v [.op]pack.t
I hope they haven't broken harness on VMS since the last time I tried it.
 

It seemed to be spitting out some errors where MMK TEST would just say 
'FAILED'.

There were several things along the lines of 'unrecognized command verb \ECHO\' but 
also some real failures.  op/pack failed with what appears to be a floating point 
overflow.  Several Tie::File, Math::BigInt and Math::BigRat tests failed.  I can post 
the errors from the build logs if anyone is interested.
Does anyone know if any of these errors are serious?  Are they worth looking into or am I the last diehard still trying to use perl on VAX/VMS 6.2?
   

Tie::File is heavily dependent on POSIX-compliant seek()
functionality in the CRTL.  It's totally unsurprising that this
doesn't work in a version of VMS that is, what, 10 or 12 years old
and long since off the vendor's support matrix.  As far as I know, no
other core packages depend on Tie::File, so if you don't intend to use it
explicitly, you should be fine.
 

I think VMS 6.2 is 11 years old (good guess!).  Last year we went 
looking into this and found it was 10 so it's at least nearing 11.

The various math-related problems most likely come from D_FLOAT not
representing the floating point ranges that tests expect.  Whether
this will cause you problems really depends on what sort of floating
point work you may be doing.  You can try configuring with G_FLOAT
(instructions in README.vms) and see if that makes a difference.  I
believe I was supposed to make G_FLOAT the default on VAX, but I
either got busy, forgot, decided I shouldn't without the ability to
test it, or all of the above.
 

I think some of the harness output seems to support this.  Maybe I'll 
leave a G_FLOAT build running over the weekend and see what happens.

I'll dig into the pack problem a little and see what I can come up 
with.  That one's pretty important to me.




Re: TIEing a Hash in VMS?

2000-11-21 Thread Thomas Pfau

"Smith, Sheldon" wrote:
 use VMS::Stdio qw( :CONSTANTS);
 use SDBM_File;
 my %dbase;
 tie(%dbase, 'SDBM_File', 'phones.db', O_RDWR|O_CREAT, 0)
 || die "can't open file: $!";

My guess is that a '.db' is getting appended to the file name you passed
resulting in 'phones.db.db' which would indeed give the error you
specified.  Try specifying the file name as just 'phones'.

-- 
tom_p
[EMAIL PROTECTED]
http://www.eclipse.net/~pfau/
Community Gospel Church information at http://www.cgcnb.org/



Re: Trouble with Perl on VMS

2000-09-07 Thread Thomas Pfau

 this is expected.  However, when I run the same script (minus the path to
 perl) on VMS, I get
 
 DILBRT perl billperl.pl
 
 Unrecognized character \x13 at /perl_root/lib/shellwords.pl line 49.

Did you transfer the file to VMS in ASCII mode?  Sounds like you might
have some control characters embedded in it.  How did you do the
transfer?

-- 
tom_p
[EMAIL PROTECTED]
http://www.eclipse.net/~pfau/
Community Gospel Church information at http://www.cgcnb.org/



Re: Possibly useful file access modules

2000-07-29 Thread Thomas Pfau

Peter Prymmer wrote:
 
 On Fri, 28 Jul 2000, Thomas Pfau wrote:
  I called the first module Formatter.  This class is presented with a
  list of field names and pack/unpack descriptors.  It provides
  subroutines to convert a record read from a file into a hash or convert
  a hash back into a record that can be written to a file.
 
 snip
 
  The second module is called FlatFile.  This class can be used either by
  itself or can be used as a base which is what I did.  It uses
  VMS::IndexedFile for file access and Formatter to convert data records
  into Perl usable formats.
 
 They sound great and I would like to take a look.  Formatter and FlatFile
 sound a bit generic though.  Perhaps they ought to go into the VMS::*
 package namespace?  Or do we need an RMS::* namespace?

Well, since FlatFile is kind of dependant on VMS::IndexedFile, I could
see it falling into the VMS:: namespace but Formatter can stand on its
own.  As a matter of fact, I was looking for something to use as an
example and wrote a description for a tar file header block and it
worked!  I could see it being used for things like parsing C structures
(like sockaddr?) instead of having to remember pack formats and stuff.

Keep the name suggestions coming...

 You ought to consider distributing them via CPAN - go to a CPAN site
 and hunt down the PAUSE documentation.  I found that with web uploads
 it was ridiculously easy to pop modules onto CPAN just recently (I
 had even forgotten my password for a long time).

I'll look into this.  I've been working on the documentation.  Expect
this stuff to show up at http://www.eclipse.net/~pfau/perl/ shortly.

-- 
tom_p
[EMAIL PROTECTED]
http://www.eclipse.net/~pfau/
Community Gospel Church information at http://www.cgcnb.org/