Michael G. Schwern wrote last week:
!If MakeMaker isn't finding the perl you ran Makefile.PL with then there's
!a bug in find_perl() for sure.
Indeed. When I first noticed the problem I too started looking at
MM_VMS.pm::find_perl(). Eventually I realized that the $names array
reference derived from the @perls array assigned in
MM_Unix.pm::init_PERL().
Hence my patch affects the way @perls is assigned there but of course
does so only on VMS and only on VMS that has specified usevmsdebug as a
build configuration option.
!Does PERL_ROOT:[000000]PERL.EXE exist? If so then I accuse the
VMS->find_perl
!"prefer relative paths" hackery. I'm pretty much convinced that resorting
!should happen in init_PERL, not in find_perl, so that $^X can be left on
the
!front, and it should only happen if $self->{PERL_CORE}.
For a build that is configured and built with:
@configure "-Dusevmsdebug" "-des"
mmk/macro=(__DEBUG__=1)
mmk/macro=(__DEBUG__=1) test
mmk/macro=(__DEBUG__=1) install
there will be no PERL.EXE installed in PERL_ROOT:[000000].
Here are the files from a [EMAIL PROTECTED] kit that was built and
installed in that fashion:
$ directory/date/size PERL_ROOT:[000000]
Directory PERL_ROOT:[000000]
DBGPERL.EXE;1 53 15-AUG-2003 17:53:28.14
DBGPERLSHR.EXE;1 7431 15-AUG-2003 17:53:27.64
LIB.DIR;1 10 16-AUG-2003 10:41:29.41
NDBGPERL.EXE;1 8 15-AUG-2003 17:53:28.30
UTILS.DIR;1 2 16-AUG-2003 10:43:37.22
Total of 5 files, 7504 blocks.
(thanks for asking: I see that the debug version of either
A2P.EXE or DBGA2P.EXE is not installed).
For someone who then also ran:
mmk
mmk test
mmk install
there would be a PERL.EXE in PERL_ROOT:[00000]. However, it
would be a good idea for folks who wanted to install both a
usevmsdebug and a non usevmsdebug build of perl to maintain
separate PERL_ROOT locations for each installation (that is
in fact what I intend to do here).
!The attached patch implements the second part. Try applying that to
!your installed ndbgperl's MM_VMS and see if it gets found.
If I apply your patch to [EMAIL PROTECTED] and also comment out
my patch to MM_Unix.pm then run C<mmk/macro=(__DEBUG__=1) test>
I obtain:
lib/ExtUtils/t/basic.................FAILED at test 22
lib/ExtUtils/t/Constant..............FAILED at test 5
Failed 2 test scripts out of 728, 99.73% okay.
If I then install that doubly patched version of
[EMAIL PROTECTED] built with usevmsdebug and then try
to run a Makefile.PL for Pod2VMSHlp-1.02 distribution
I obtain:
$ perl Makefile.PL
<deletia>
$ search descrip.mms FULLPERL
FULLPERL = 0
FULLPERLRUN = $(FULLPERL)
FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)"
$(FULLPERLRUN) "-MExtUtils::Command::MM" "-e"
"test_harness($(TEST_VERBOSE), '$(INST_LIB)', '$(INST_ARCHLIB)')" t/*.t
$(FULLPERLRUN) "$(TESTDB_SW)" "-I$(INST_LIB)" "-I$(INST_ARCHLIB)"
$(TEST_FILE)
Which I do not think was your intent.
Peter Prymmer
P.S. Apologies for the long delay in sending
this reply. I was out on vacation this past weekend.