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.

Reply via email to