Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Oct 2000 10:19:54 -0400 (EDT)
From:      lowell@world.std.com
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   gnu/22025: perl build 
Message-ID:  <200010161419.e9GEJsl08797@be-well.ilk.org>

next in thread | raw e-mail | index | archive | help

>Number:         22025
>Category:       gnu
>Synopsis:       perl does chmod in installworld
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Oct 16 07:20:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Lowell Gilbert
>Release:        FreeBSD 4.1.1-STABLE i386
>Organization:
n/a
>Environment:

4-STABLE (for the last few weeks, apparently)
My environment is vanilla in every respect I can imagine to be 
relevant.

The only entries in my make.conf are:
 CFLAGS= -O -pipe
 COPY=-C
 USA_RESIDENT=YES
 MAKE_IDEA=YES
 CD_MOUNTPT=/mnt/cdrom
 FETCH_BEFORE_ARGS=-p
 FTP_PASSIVE_MODE=YES
 TOP_TABLE_SIZE= 101

>Description:

The perl install tries to do a chmod, which isn't in the installworld
limited environment.  I'm not sure why there are so few of us getting
bitten by this, but it's an interaction between perl's own build
system and FreeBSD's.

This keeps a normal installworld from working...

>How-To-Repeat:

"make installworld" eventually leads to:

  ===> gnu/usr.bin/perl/library/SDBM_File
  cd /usr/obj/usr/src/gnu/usr.bin/perl/library/SDBM_File/ext/SDBM_File ; make -B install  INSTALLPRIVLIB=/usr/libdata/perl/5.00503  INSTALLARCHLIB=/usr/libdata/perl/5.00503/mach
  cd sdbm && make all
  rm -rf libsdbm.a
  ar cr libsdbm.a sdbm.o  pair.o  hash.o && : libsdbm.a
  chmod 755 libsdbm.a
  chmod:No such file or directory
  *** Error code 1

  Stop in /usr/obj/usr/src/gnu/usr.bin/perl/library/SDBM_File/ext/SDBM_File/sdbm.
  *** Error code 1

etc.


>Fix:

The obvious workaround is:
================================================================
*** Makefile.inc1~      Mon Oct 16 10:05:12 2000
--- Makefile.inc1       Mon Oct 16 10:05:30 2000
***************
*** 298,304 ****
  #
  installworld:
        mkdir -p ${INSTALLTMP}
!       for prog in [ awk cat chflags chown date echo egrep find grep \
            install ln make makewhatis mtree mv perl rm sed sh sysctl \
            test true uname wc zic; do \
                cp `which $$prog` ${INSTALLTMP}; \
--- 298,304 ----
  #
  installworld:
        mkdir -p ${INSTALLTMP}
!       for prog in [ awk cat chflags chmod chown date echo egrep find grep \
            install ln make makewhatis mtree mv perl rm sed sh sysctl \
            test true uname wc zic; do \
                cp `which $$prog` ${INSTALLTMP}; \
================================================================

However, I don't think perl should *need* the chmod, so there's
probably a better answer.

[I can think of some other workarounds, such as using '-k' on the make
command, but this one is less ugly.]

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010161419.e9GEJsl08797>