develooper Front page | perl.perl5.porters | Postings from June 2013

[perl #118447] -Dusevmsdebug generates a DESRIP.MMS that doesn't work without "/macro=(__DEBUG__)"

Thread Next
Nicholas Clark
June 12, 2013 15:44
[perl #118447] -Dusevmsdebug generates a DESRIP.MMS that doesn't work without "/macro=(__DEBUG__)"
Message ID:
# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #118447]
# in the subject line of all future correspondence about this issue. 
# <URL: >

On VMS, if I run as

    @configure "-des" "-Dusedevel" "-Dusevmsdebug"

then it will tell me to invoke mmk as

    mmk "/macro=(__DEBUG__)"

This works.

However, if I invoke mmk as just mmk it doesn't. The build gets a log way,
then fails like this:

running PTAC$DKA0:[NCLARK.I.perl5191]MINIPERL.EXE;1 "-I[--.lib]" "ppport_h.PL"
installing ppport.h for cpan/DB_File
installing ppport.h for cpan/IPC-SysV
installing ppport.h for cpan/List-Util
installing ppport.h for cpan/Time-HiRes
installing ppport.h for cpan/Win32API-File
installing ppport.h for dist/Cwd
removing temporary file
removing temporary file ppport.h
MCR Sys$Disk:[]miniperl.exe "-I[.lib]" "-I[.dist.Cwd]" "-I[.dist.Cwd.lib]" make_ "MAKE=MMK" "--dynamic" "--static"
        Making Cwd (all)

Creating Makefile.PL in dist/Cwd for Cwd

Running Makefile.PL in dist/Cwd
PTAC$DKA0:[NCLARK.I.perl5191]MINIPERL.EXE;1 "-I../../lib" "Makefile.PL" "INST_LI
B=[--.lib]" "INST_ARCHLIB=[--.lib]" "PERL_CORE=1"
Writing Descrip.MMS for Cwd
Making all in dist/Cwd
 MMK all /DESCRIPTION=descrip.mms /MACRO=("PERL_CORE=1")
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [.lib.File] [--.lib.File]
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [.lib.File.Spec] [--.lib.File.Spec]
cp [--.lib]
MCR [--]miniperl.exe "-I[--.lib]" "-I[--.lib]" -e "use ExtUtils::Mksymlists;"
-e "Mksymlists('NAME' => 'Cwd', 'DL_FUNCS' => {  }, 'DL_VARS' => [], 'FUNCLIST'
=> [])"
MCR [--]miniperl.exe -e "print ""[]Cwd.olb/Include=Cwd\n[--.lib.a
uto.Cwd]Cwd.olb/Library\n"";" >>CWD.OPT
MCR [--]miniperl.exe -e "print qq{DBGPerlShr/Share\n}" >>CWD.OPT
MCR PTAC$DKA0:[NCLARK.I.perl5191]miniperl.exe "-I[--.lib]" "-I[--.lib]" "-MExtUt
ils::Command" -e "cp" "--" CWD.OPT [--.LIB.AUTO.CWD]CWD.OPT
MCR [--]miniperl.exe "-I[--.lib]" "-I[--.lib]" [--.lib.ExtUtils]xsubpp  -nolinen
umbers -typemap [--.lib.ExtUtils]typemap CWD.xs >CWD.C
CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj /NOANSI_ALIAS/floa
"XS_VERSION=""3.41""")/Include=([--])/List/Debug/NoOpt  CWD.c
If F$Search("[--.LIB.AUTO.CWD]CWD.OLB").eqs."" Then Library/Object/Create [--.LI
Library/Object/Replace [--.LIB.AUTO.CWD]CWD.OLB CWD.OBJ
%MMK-F-CANTUPD, cannot update target [--]DBGPERLSHR.EXE - sources unknown
%MMK-F-CANTUPD, cannot update target [--]DBGPERLSHR.EXE - sources unknown
Unsuccessful make(dist/Cwd): code=1024 at line 490.
%NONAME-F-NOMSG, Message number 0C14805C
%MMK-F-ERRUPD, error status %X0C14805C occurred when updating target DYNEXT

The DESCRIP.MMS generated by @configure "-des" "-Dusedevel" "-Dusevmsdebug"
is identical to that from    @configure "-des" "-Dusedevel"

So, why is it that the former's build doesn't work without
mmk "/macro=(__DEBUG__)"?

(I'm guessing something in

And if it's not sensible to make it work without the "/macro=(__DEBUG__)",
then would it be better to generate a different DESCRIP.MMS that implicitly
adds __DEBUG__, and save the user having to type something that's actually

This is blead somewhat more recent than v5.19.1, but I don't know the
commit offhand, and I don't know the VMS equivalent of ./myconfig
(On the HP Opensource Itanium)

Nicholas Clark

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About