From owner-freebsd-bugs Mon Jan 17 12:40: 9 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 0BAE414F4F for ; Mon, 17 Jan 2000 12:40:03 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id MAA22645; Mon, 17 Jan 2000 12:40:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from feral.com (feral.com [192.67.166.1]) by hub.freebsd.org (Postfix) with ESMTP id 52F5614A2D for ; Mon, 17 Jan 2000 11:54:45 -0800 (PST) (envelope-from mjacob@farrago.feral.com) Received: from farrago.feral.com (farrago [192.67.166.23]) by feral.com (8.9.3/8.9.3) with ESMTP id LAA27779 for ; Mon, 17 Jan 2000 11:54:44 -0800 Received: (from mjacob@localhost) by farrago.feral.com (8.9.3/8.9.1) id LAA08394; Mon, 17 Jan 2000 11:05:09 -0800 (PST) (envelope-from mjacob) Message-Id: <200001171905.LAA08394@farrago.feral.com> Date: Mon, 17 Jan 2000 11:05:09 -0800 (PST) From: mjacob@feral.com Reply-To: mjacob@freebsd.org To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: misc/16162: shared /usr/src isn't because .depend files are not shareable Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 16162 >Category: misc >Synopsis: shared /usr/src isn't because .depend files are not shareable >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jan 17 12:40:02 PST 2000 >Closed-Date: >Last-Modified: >Originator: Matthew Jacob >Release: FreeBSD 4.0-CURRENT alpha >Organization: Feral Software >Environment: -current as of the last day or so. >Description: You can no longer share /usr/src between i386 && alpha. In fact, I don't really see how shared source can work at all. The problem here is that, at least for building bootstrap tools, several derived files that contain platform specific information end up in /usr/src- not in OBJDIR. This leads to breakage right away because .depend's are radically different between alpha and i386: echo yacc: /usr/obj/usr/src/alpha/usr/lib/libc.a >> .depend cc -O -pipe -I/usr/obj/usr/src/alpha/usr/include -c /usr/src/usr.bin/yacc/closure.c cc -O -pipe -I/usr/obj/usr/src/alpha/usr/include -c /usr/src/usr.bin/yacc/error.c cc -O -pipe -I/usr/obj/usr/src/alpha/usr/include -c /usr/src/usr.bin/yacc/lalr.c cc -O -pipe -I/usr/obj/usr/src/alpha/usr/include -c /usr/src/usr.bin/yacc/lr0.c make: don't know how to make /usr/include/machine/trap.h. Stop *** Error code 2 Stop in /usr/src. >How-To-Repeat: Share a source tree between an alpha and an i386 and try and do a buildworld. Or share a /usr/src between to i386 machines each with different include locations such that the .depend files would be not compatible. >Fix: Put *all* derived files in OBJDIR. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message