Hi Martin,

thanks for taking the time to report the issues with OpenVMS and, more
importantly, providing fixes as well!

All are fine, and will be included in the next release of Compress::Zlib

cheers
Paul

> -----Original Message-----
> From: Dr. Martin P.J. Zinser [mailto:[EMAIL PROTECTED]
> Sent: 02 October 2003 22:31
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Compress:Zlib 1.22 on OpenVMS
>
>
> Hello Paul,
>
> I've not only got a problem, I might also have a solution;-)
> Environment is Perl 5.8.1, Compress::Zlib 1.22, OpenVMS Alpha 7.3,
> Compaq C V6.5.
>
> Using the Kit with a properly configured config.in I get
>
> $ perl Makefile.PL
> Parsing config.in...
> Looks Good.
> Can't rename t/01version.t to t/01version.t.bak: file
> specification syntax error
> , skipping file at makefile.pl line 390.
> Can't rename t/02zlib.t to t/02zlib.t.bak: file specification
> syntax error, skip
> ping file at makefile.pl line 390.
> Can't rename t/03examples.t to t/03examples.t.bak: file
> specification syntax err
> or, skipping file at makefile.pl line 390.
> Can't rename t/04encoding.t to t/04encoding.t.bak: file
> specification syntax err
> or, skipping file at makefile.pl line 390.
> Can't rename t/05gzsetp.t to t/05gzsetp.t.bak: file specification
> syntax error,
> skipping file at makefile.pl line 390.
> Can't rename t/06gzdopen.t to t/06gzdopen.t.bak: file
> specification syntax error
> , skipping file at makefile.pl line 390.
> Can't rename examples/filtdef. to examples/filtdef..bak: file
> specification synt
> ax error, skipping file at makefile.pl line 390.
> Can't rename examples/filtinf. to examples/filtinf..bak: file
> specification synt
> ax error, skipping file at makefile.pl line 390.
> Can't rename examples/gzcat. to examples/gzcat..bak: file
> specification syntax e
> rror, skipping file at makefile.pl line 390.
> Can't rename examples/gzgrep. to examples/gzgrep..bak: file
> specification syntax
>  error, skipping file at makefile.pl line 390.
> Can't rename examples/gzstream. to examples/gzstream..bak: file
> specification sy
> ntax error, skipping file at makefile.pl line 390.
> Up/Downgrade complete.
> Checking if your kit is complete...
> Looks good
> Writing Descrip.MMS for Compress::Zlib
>
> --> VMS generally does not like file names with multiple dots in
> it. (There are
>     certain conditions where one can do this, but this will not
> work in all or
>     even most cases). The following one line patch to Makefile.PL
> cures the
>     obvious problem, although a more rigorous approach might be to do
>     something like
>     $back_ext = (^O eq 'VMS') ? "_bak" : ".bak";
>     and then use $back_ext throughout the script.
>
> $diff -c Makefile.PL.orig Makefile.PL
> *** Makefile.PL.orig    2003-09-24 13:01:13.000000000 -0500
> --- Makefile.PL 2003-09-24 13:09:49.000000000 -0500
> ***************
> *** 384,390 ****
>       my $our_sub = shift;
>       my $warn_sub = shift;
>
> !     local ($^I) = ".bak" ;
>       local (@ARGV) = shift;
>
>       while (<>)
> --- 384,390 ----
>       my $our_sub = shift;
>       my $warn_sub = shift;
>
> !     local ($^I) = ($^O eq 'VMS') ? "_bak" : ".bak";
>       local (@ARGV) = shift;
>
>       while (<>)
>
> During compilation of Zlib.c I did receive the following messages:
>
> CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
> /NOANSI_ALIAS/floa
> t=ieee/ieee=denorm_results/Define=("VERSION=""1.22""","XS_VERSION=
> ""1.22""")/Inc
> lude=(perl_root:[lib.VMS_AXP.5_8_1.CORE],zlib:)/NoList  ZLIB.c
>
>         printf("    stream           0x%p\n", s->stream);
> ..............................................^
> %CC-W-OUTTYPELEN, In this statement, this argument to printf is
> of "a struct" ty
> pe and is not appropriate for the conversion specifier "%p".  The
> value might be
>  truncated or formatted in an unintended manner.
> at line number 182 in file DISK$USER:[ZINSER.TMP.CZLIB]Zlib.xs;1
>
>         printf("    dict_adler       0x%p\n", s->dict_adler);
> ..............................................^
> %CC-W-OUTTYPELEN, In this statement, this argument to printf is
> of "an unsigned
> long" type and is not appropriate for the conversion specifier
> "%p".  The value
> might be truncated or formatted in an unintended manner.
> at line number 212 in file DISK$USER:[ZINSER.TMP.CZLIB]Zlib.xs;1
> %MMK-F-ERRUPD, error status %X10B91260 occurred when updating
> target ZLIB.OBJ
>
> Both s->stream and s->dict_adler are not really pointers, so I
> propose the
> patch below, which does compile cleanly for me (both on OpenVMS
> and a Linux
> 2.4.20 GCC 3.3 system used for crosstesting)
>
> $diff -c Zlib.xs.orig Zlib.xs
> *** Zlib.xs.orig        2003-09-24 13:01:00.000000000 -0500
> --- Zlib.xs     2003-09-24 13:10:02.000000000 -0500
> ***************
> *** 179,185 ****
>         printf("    stream pointer is NULL\n");
>       }
>       else     {
> !       printf("    stream           0x%p\n", s->stream);
>         printf("           zalloc    0x%p\n", s->stream.zalloc);
>         printf("           zfree     0x%p\n", s->stream.zfree);
>         printf("           opaque    0x%p\n", s->stream.opaque);
> --- 179,185 ----
>         printf("    stream pointer is NULL\n");
>       }
>       else     {
> !       printf("    stream           0x%p\n", &(s->stream));
>         printf("           zalloc    0x%p\n", s->stream.zalloc);
>         printf("           zfree     0x%p\n", s->stream.zfree);
>         printf("           opaque    0x%p\n", s->stream.opaque);
> ***************
> *** 209,215 ****
>         printf("           reserved  0x%lx\n", s->stream.reserved);
>         printf("    bufsize          %ld\n", s->bufsize);
>         printf("    dictionary       0x%p\n", s->dictionary);
> !       printf("    dict_adler       0x%p\n", s->dict_adler);
>         printf("\n");
>
>       }
> --- 209,215 ----
>         printf("           reserved  0x%lx\n", s->stream.reserved);
>         printf("    bufsize          %ld\n", s->bufsize);
>         printf("    dictionary       0x%p\n", s->dictionary);
> !       printf("    dict_adler       %ld\n", s->dict_adler);
>         printf("\n");
>
>       }
>
> I hope you might consider these changes for inclusion in version 1.23.
>
> Greetings, Martin
>
> P.S. Thanks a lot your work with Compress::Zlib!!
> P.P.S. Cross-posted on request of interested parties at the
>        vmsperl mailing list.
> Dr. Martin P.J. Zinser
> [EMAIL PROTECTED]
> Deutsche Boerse Systems Inc.
> Suite 1580                                   Tel: +1-312-408-3085
> 141 West Jackson Blvd.                       FAX: +1-312-408-3071
> Chicago, IL, 60604
> USA                                          Private:  [EMAIL PROTECTED]

Reply via email to