At 4:23 PM -0600 1/20/03, Forrest Cahoon wrote:
>Hey, everyone.
Welcome back. Haven't seen you here since you announced VMS::Logical.
>I'm using perl 5.6.1 from the kit which is distributed by Compaq along with
>their CSWS webserver.
>
>I just tried to install the latest Storable.pm I found on CPAN (v. 2.06),
>and I get the following XS compile error:
FWIW, Storable 2.04 is included in the core build of Perl as of 5.8.0
and it builds and tests fine.
>CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj
>=.obj/NoList/NOANSI_ALIA
>S/Define=("VERSION=""2.06""","XS_VERSION=""2.06""")/
>Include=(perl_root:[lib.VMS_AXP.5_6_1.CORE])/Optimize STORABLE.c
>
> WRITE(header, length);
>....^
>%CC-W-NOTCONSTQUAL, In this statement, the referenced type of the pointer
>value
>"header" is const, but the referenced type of the ta
>rget of this assignment is not.
>at line number 3369 in file SCRATCH:[FCAHOON.STORABLE-2_06]STORABLE.XS;1
You may need to look at what the WRITE macro is doing. There's a
good chance that a simple cast of "header" would be all you need,
something like:
WRITE( (char *) header, length);
assuming it *is* char and not some other type.
>I searched the vmsperl mail archives for "Storable" and found some reports
>of errors on the tests, but I never made it that far.
Once upon a time there was a nasty bug where our custom fwrite()
replacement in [.vms]vms.c would not handle null bytes sprinkled in
the middle of a string. That caused Storable to fail whenever it was
storing binary data. We fixed this at some point, but I can't
remember if it was before or after 5.6.1. If you search the archives
for "storable" and "fwrite" you'll probably find the discussion and the patch.
>Obviously, not
>everyone (no one?) else has suffered from this build problem.
I haven't tried to build the latest. I think the Storable author
just needs to be reminded that some compilers care about type
qualifiers.
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser