Re: Perl 5.12.1 build report

[email protected] ("Craig A. Berry") Thu, 24 Jun 2010 13:08:52 -0500
Newsgroups perl.vmsperl
Message-ID <[email protected]>
On Jun 24, 2010, at 10:45 AM, Mark Berryman wrote:

> At the end of this message is a list of the extensions I have  
> installed so far.  These are the issues I encountered with this  
> installation:
>
> 1. The file SV.C has an uncorrected questionable compare left in its  
> UTF8 code.  This can be changed to a simple compare to zero.

Yeah, and there are some more in the Encode extension.  They are  
informationals and haven't been a top priority to stomp on.

> 2. The file git_version.h is not copied to the installation  
> directory.  It is referenced by some extensions, HTML::Parser being  
> an example.

That sounds like a genuine bug.  I think it should get installed.

> 3. Extensions that use inc::Module::Install fail to build an MMS  
> file.  I have to rewrite them to use ExtUtils::MakeMaker.

Right. Module::Install pulls filenames from File::Spec in native  
syntax and then pastes them together with slashes.  That obviously  
doesn't work and I haven't had the time and energy to fight that battle.

> 4. Too many extensions like to use labels that differ only in case  
> or reference external libraries that are built with / 
> names=(as_is,short).  By editing 3 include files in Perl, extern.h,  
> perl.h, and xsub.h in PERL_ROOT:[.LIB.VMS_arch.5_12_1.CORE], to set  
> the NAMES pragma to uppercase at the beginning of the file and  
> restore it at the end, I am able to modify the generated DESCRIP.MMS  
> file of the extension being built to include the names=(as_is,short)  
> switch and build the extension without difficulty.  I believe this  
> would be worth doing as part of the standard installation.  It would  
> also be nice if there were an option to add this switch into the  
> generated DESCRIP.MMS automatically.

You can get /NAMES=AS_IS by configuring the Perl build with:

$ @configure -"Dbe_case_sensitive=Y" -"des"

xsubpp should do its own name shortening, but that can cause trouble  
with external libraries.  I'd consider making /NAMES=(AS_IS,SHORTENED)  
the default for 5.14.0, but need to give some thought to what will  
break.

> 5. The extension build process still believes any file that does not  
> conform to ODS-2 syntax has been renamed using underscores.  Since  
> my home directory is on an ODS-5 disk, and cpanplus places its work  
> files in the home directory, I frequently get reports of missing  
> files while processing makefile.pl.  The error appears to be  
> cosmetic, however, and the build still completes successfully.

I've seen that too -- the manifest checker defaults to the legacy  
behavior.  Like a lot of things, it could be changed with some effort.

>
> In all cases, cpanplus was used to start the build of the  
> extension.  In many cases, that was all it took.  When the build  
> aborted, usually due to reason 3, I stepped into the directory,  
> corrected the problem (editing makefile.pl, editing the resulting  
> descrip.mms when necessary, adding in any necessary external  
> libraries), then manually completed the install of the extension in  
> question, then reissued the cpanp command if the extension that  
> aborted was a prerequisite.  This allowed all the extensions I use  
> to be installed very quickly and I did not have to do any manual  
> fetching (except for VMS::Logical) and walking of the prerequisite  
> tree on my own.  Again, thanks very much for making this process  
> much easier than it used to be.
>
> For reference, here is the list of extensions I have added to my  
> system.


Very impressive list snipped.

________________________________________
Craig A. Berry
mailto:[email protected]

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