From owner-freebsd-bugs@FreeBSD.ORG Sat Apr 12 10:40:19 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 785CD37B401 for ; Sat, 12 Apr 2003 10:40:19 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 524C943FBF for ; Sat, 12 Apr 2003 10:40:18 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h3CHeIUp018916 for ; Sat, 12 Apr 2003 10:40:18 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h3CHeIuS018915; Sat, 12 Apr 2003 10:40:18 -0700 (PDT) Resent-Date: Sat, 12 Apr 2003 10:40:18 -0700 (PDT) Resent-Message-Id: <200304121740.h3CHeIuS018915@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Eugene Grosbein Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 65AE137B401 for ; Sat, 12 Apr 2003 10:36:00 -0700 (PDT) Received: from grosbein.pp.ru (www2.svzserv.kemerovo.su [213.184.65.86]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3388843FB1 for ; Sat, 12 Apr 2003 10:35:54 -0700 (PDT) (envelope-from eugen@grosbein.pp.ru) Received: from grosbein.pp.ru (smmsp@localhost [127.0.0.1]) by grosbein.pp.ru (8.12.9/8.12.7) with ESMTP id h3CHZ77a018623 for ; Sun, 13 Apr 2003 01:35:07 +0800 (KRAST) (envelope-from eugen@grosbein.pp.ru) Received: (from eugen@localhost) by grosbein.pp.ru (8.12.9/8.12.9/Submit) id h3CHVQV5018557; Sun, 13 Apr 2003 01:31:26 +0800 (KRAST) Message-Id: <200304121731.h3CHVQV5018557@grosbein.pp.ru> Date: Sun, 13 Apr 2003 01:31:26 +0800 (KRAST) From: Eugene Grosbein To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: misc/50873: make buildworld cannot handle MAKEOBJDIRPREFIX in some cases X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Eugene Grosbein List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Apr 2003 17:40:19 -0000 >Number: 50873 >Category: misc >Synopsis: make buildworld cannot handle MAKEOBJDIRPREFIX in some cases >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Apr 12 10:40:17 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Eugene Grosbein >Release: FreeBSD 4.8-STABLE i386 >Organization: Svyaz Service JSC >Environment: System: FreeBSD grosbein.pp.ru 4.8-STABLE FreeBSD 4.8-STABLE #3: Sun Apr 6 23:20:11 KRAST 2003 eu@grosbein.pp.ru:/usr/local/obj/usr/local/src/sys/DADV i386 /usr is small and read-only. Sources live in /usr/local/src and /usr/src is symlink for /usr/local/src. >Description: I actively use make.conf to optimize my systems and exclude unneeded parts of system from build (make buildworld). Generally I use /usr/local/obj and my /usr/obj is symlink for /usr/local/obj. It runs Ok and I have no problems with this configuration as soon as I have full collection of sources However, now I need to build another world for another processor so I try to use MAKEOBJDIRPREFIX and buildworld fails. >How-To-Repeat: mkdir ~/hp # I need to build a small world for my HP notebook mkdir /usr/local/smallobj # a space for buildworld cd hp cat >make.conf <Fix: Unknown for me. I'm not familiar with a policy of building CANONICALOBJDIR but can guess that 'make install' should use /usr/local/smallobj/usr/local/src/usr.bin/yacc created by 'make obj' and not /usr/local/smallobj/usr/bin/ Eugene Grosbein >Release-Note: >Audit-Trail: >Unformatted: >>> Rebuilding the temporary build tree -------------------------------------------------------------- rm -rf /usr/local/smallobj/usr/local/src/i386 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/bin mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/lib/compat/aout mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/games mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/libdata/ldscripts mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/libexec/elf mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/sbin mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/misc mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/dict mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devX100 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devX100-12 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devX75 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devX75-12 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devascii mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devcp1047 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devdvi mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devhtml mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devkoi8-r mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devlatin1 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devlbp mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devlj4 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devps mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/groff_font/devutf8 mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/tmac/mdoc mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/share/tmac/mm mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/arpa mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/dev mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/fs mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/g++/std mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/isc mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/isofs mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/libmilter mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/objc mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/openssl mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/protocols mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/readline mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/rpc mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/rpcsvc mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/security mkdir -p /usr/local/smallobj/usr/local/src/i386/usr/include/ufs ln -sf /usr/local/src/sys /usr/local/smallobj/usr/local/src/i386 -------------------------------------------------------------- >>> stage 1: bootstrap tools -------------------------------------------------------------- cd /usr/local/src; MAKEOBJDIRPREFIX=/usr/local/smallobj/usr/local/src/i386 DESTDIR= INSTALL="sh /usr/local/src/tools/install.sh" make -f Makefile.inc1 -DBOOTSTRAPPING -DNOHTML -DNOINFO -DNOMAN -DNOPIC -DNOPROFILE -DNOSHARED -DNO_WERROR bootstrap-tool s echo "===> usr.bin/yacc"; cd /usr/local/src/usr.bin/yacc; make DIRPRFX=usr.bin/yacc/ obj; make DIRPRFX=usr.bin/yacc/ depend; make DIRPRFX=usr.bin/yacc/ all; make DIRPRFX=usr.bin/yacc/ DESTDIR=/usr/local/smallobj install ===> usr.bin/yacc /usr/local/smallobj/usr/local/src/usr.bin/yacc created for /usr/local/src/usr.bin/yacc sh /usr/local/src/tools/install.sh -s -o root -g wheel -m 555 yacc /usr/local/smallobj/usr/bin sh /usr/local/src/tools/install.sh -o root -g wheel -m 555 yyfix.sh /usr/local/smallobj/usr/bin/yyfix install: /usr/local/smallobj/usr/bin/yyfix: Not a directory *** Error code 71 Stop in /usr/local/src/usr.bin/yacc. *** Error code 1 Stop in /usr/local/src. *** Error code 1 Stop in /usr/local/src. *** Error code 1 Stop in /usr/local/src. I see that it tries to install yacc into nonexistent directory /usr/local/smallobj/usr/bin. Instead, in installs yacc in the existent /usr/local/smallobj/usr and produce file 'bin' here. Then it tries int install yyfix.sh into /usr/local/smallobj/usr/bin/yyfix but /usr/local/smallobj/usr/bin is a file :-)