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