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:craigbe...@mac.com

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

Reply via email to