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
From:
Nicholas Clark
Date:
June 12, 2013 15:44
Subject:
[perl #118447] -Dusevmsdebug generates a DESRIP.MMS that doesn't work without "/macro=(__DEBUG__)"
Message ID:
rt-3.6.HEAD-2552-1371051867-1658.118447-75-0@perl.org
# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #118447]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=118447 >


On VMS, if I run configure.com 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 PPPort.pm
removing temporary file ppport.h
MCR Sys$Disk:[]miniperl.exe "-I[.lib]" "-I[.dist.Cwd]" "-I[.dist.Cwd.lib]" make_
ext.pl "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]Mac.pm [--.lib.File.Spec]Mac.pm
cp [.lib.File.Spec]Cygwin.pm [--.lib.File.Spec]Cygwin.pm
cp [.lib.File]Spec.pm [--.lib.File]Spec.pm
cp [.lib.File.Spec]Unix.pm [--.lib.File.Spec]Unix.pm
cp [.lib.File.Spec]OS2.pm [--.lib.File.Spec]OS2.pm
cp [.lib.File.Spec]Win32.pm [--.lib.File.Spec]Win32.pm
cp [.lib.File.Spec]Functions.pm [--.lib.File.Spec]Functions.pm
cp [.lib.File.Spec]VMS.pm [--.lib.File.Spec]VMS.pm
cp [.lib.File.Spec]Epoc.pm [--.lib.File.Spec]Epoc.pm
cp cwd.pm [--.lib]cwd.pm
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 ""[--.lib.auto.Cwd]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
t=ieee/ieee=denorm/NAMES=(SHORTENED)/Define=(_USE_STD_STAT=1,"VERSION=""3.41""",
"XS_VERSION=""3.41""")/Include=([--])/List/Debug/NoOpt  CWD.c
If F$Search("[--.LIB.AUTO.CWD]CWD.OLB").eqs."" Then Library/Object/Create [--.LI
B.AUTO.CWD]CWD.OLB
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 make_ext.pl 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 config.sh)

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
mandatory?


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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About