develooper Front page | perl.vmsperl | Postings from June 2002

Problem building 5.8.0-RC2 with logical name "UTIL" defined

Thread Next
June 26, 2002 09:20
Problem building 5.8.0-RC2 with logical name "UTIL" defined
Message ID:

I found another dangerous logical name when building 5.8.0-RC2 on my test 
system :
	 "UTIL" conflicts with the build of the List/Util extension.

Build environment: 
  DEC C V5.6-003 on OpenVMS Alpha V7.2-1
  DIGITAL TCP/IP Services for OpenVMS Alpha Version V5.0A
  MMK 3.9-2

After @configure "-des", the build ran without any error message up to
module IO, then I got

        Making List/Util (dynamic)
Writing Descrip.MMS for List::Util
%MMK-F-CANTUPD, cannot update target [.UTIL.CALCUL]ADD. - sources unknown
%MMK-F-ERRUPD, error status %X1C14805C occurred when updating target DYNEXT

I first checked there's no such file in the TAR file, then I examined the
DESCRIP.MMS file in [.EXT.LIST.UTIL]. It was a very large file (1055 blocks)
with huge TO_INST_PM and PM_TO_BLIB lists starting with

TO_INST_PM = [.Util.calcul]add. [.Util.calcul]add1. [.Util.calcul]add8. [.Util.calcul]alpha. \
        [.Util.calcul]at.for [.Util.calcul]bascng.for [.Util.calcul]blank. [.Util.calcul]block.for \

PM_TO_BLIB = [.Util.vim.doc]editing.txt [---.lib.List.Util.vim.doc]editing.txt [.Util.unzip.macos.source]macbin3.h \
        [---.lib.List.Util.unzip.macos.source]macbin3.h [] [] \

Those files are nowhere in the Perl distribution, they are on my system disk
in directory SYS$SYSDEVICE:[UTIL].  As this directory contains several
utilities, I have a "$ DEFINE UTIL SYS$SYSDEVICE:[UTIL]" in my SYLOGIN.COM. 
It turns out this logical badly affects the execution of "perl"
for List/Util.  
Is this a problem in MakeMaker ?

After a "$ DEASSIGN UTIL", I restarted the build and it ran to completion
without other errors.

A simple fix would be to add a

$ CALL Bad_environment "UTIL"

to CONFIGURE.COM, but other modules might be sensitive to other logical
names.  For instance, an incorrect DESCRIP.MMS is generated for Encode if a
logical name "ENCODE" is defined... 

Here is a minimal test to reproduce the problem with the "UTIL" logical and
List::Util :

$ show default
$ create/dir dka100:[abc] 	! create a fresh directory, on another disk
$ define util dka100:[abc] 	!
$ create dka100:[abc]aaa 	! create some dummy files
$ create dka100:[abc]bbb 	!
$ perl
Writing Descrip.MMS for List::Util
$ search descrip.mms aaa,bbb
TO_INST_PM = [.Util]aaa. [.Util]bbb. [.lib.list] [.lib.scalar]
PM_TO_BLIB = [.lib.list] [.blib.lib.list] [.Util]bbb.
[.blib.lib.List.Util]bbb. \
        [.lib.scalar] [.blib.lib.scalar] [.Util]aaa.
        $(RM_F)  [.blib.lib.List.Util]bbb.
        $(RM_F) Descrip.MMS [.blib.lib.List.Util]aaa.
        $(NOECHO) $(PERL) -e "print ' [.lib.list] [.blib.lib.list]
[.Util]bbb. [.blib.lib.List.Util]bbb.
 [.Util]aaa. [.blib.lib.List.Util]aaa. [.lib.scalar]
[.blib.lib.scalar]'" >>.MM_tmp
$ show logical perl*


  "PERLSHR" = "PERL_ROOT:[000000]PERLSHR.EXE" 	! 5.8.0-RC2 version
  "PERL_CORE" = "1"
  "PERL_ROOT" = "DKA600:[PERL-5_8_0-RC2.]" 	! 5.8.0-RC2 version




  "PERL_ROOT" = "DISK$UTILA1:[PERL.]" 	! 5.6.0 version


$ perl "-V"
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
    osname=VMS, osvers=V7.2-1, archname=VMS_AXP
    uname='VMS ast35 V7.2-1 AlphaStation 250 4/266'
    hint=none, useposix=false, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=undef, bincompat5005=undef
    cc='CC/DECC', ccflags ='/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj /float=ieee/ieee=denorm_results',
    ccversion='50690003', gccversion='', gccosandvers='undef'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='int', lseeksize=4
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='Link', ldflags ='/NoTrace/NoMap'
    libpth=/sys$share /sys$library
    libc=(DECCRTL), so=exe, useshrplib=undef, libperl=undef
  Dynamic Linking:
    dlsrc=dl_vms.c, dlext=exe, d_dlsymun=undef, ccdlflags=''
    cccdlflags='', lddlflags='/Share'

Characteristics of this PERLSHR image:
  Compile-time options: DEBUGGING
  Built under VMS
  Compiled at Jun 24 2002 17:48:01

Eduardo Abreu
Centre de Recherches Metallurgiques (CRM)
Rue Ernest Solvay, 11        Phone: +3242546218
B-4000 LIEGE (Belgium)       E-mail: abreu at

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