From owner-freebsd-current Wed Sep 2 14:15:02 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA04547 for freebsd-current-outgoing; Wed, 2 Sep 1998 14:15:02 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from cimlogic.com.au (cimlog.lnk.telstra.net [139.130.51.31]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA04524 for ; Wed, 2 Sep 1998 14:14:58 -0700 (PDT) (envelope-from jb@cimlogic.com.au) Received: (from jb@localhost) by cimlogic.com.au (8.8.8/8.8.7) id HAA29947; Thu, 3 Sep 1998 07:26:11 +1000 (EST) (envelope-from jb) From: John Birrell Message-Id: <199809022126.HAA29947@cimlogic.com.au> Subject: Re: B CURRENT Build environment (Was: Re: Why no ldconfig for ELF?) In-Reply-To: <199809021926.VAA02248@gratis.grondar.za> from Mark Murray at "Sep 2, 98 09:26:42 pm" To: mark@grondar.za (Mark Murray) Date: Thu, 3 Sep 1998 07:26:10 +1000 (EST) Cc: jdp@polstra.com, current@FreeBSD.ORG, jb@cimlogic.com.au X-Mailer: ELM [version 2.4ME+ PL40 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Mark Murray wrote: > John Polstra wrote: > > OK, I think I understand the problem now. Perhaps the right > > solution is to change src/Makefile.inc1 to export WORLDTMP into the > > environment. There's already a place for that: > > > > COMPILER_ENV= BISON_SIMPLE=${TOOLROOT}/usr/share/misc/bison.simple \ > > COMPILER_PATH=${TOOLROOT}/usr/libexec:${TOOLROOT}/usr/bin \ > > GCC_EXEC_PREFIX=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib/ \ > > LD_LIBRARY_PATH=${TOOLROOT}${SHLIBDIR} \ > > LIBRARY_PATH=${WORLDTMP}${SHLIBDIR}:${WORLDTMP}/usr/lib > > > > BMAKEENV= PATH=${TMPPATH} ${COMPILER_ENV} NOEXTRADEPEND=t \ > > OBJFORMAT_PATH=${TOOLROOT}/usr/libexec:/usr/libexec > > XMAKEENV= PATH=${STRICTTMPPATH} ${COMPILER_ENV} \ > > OBJFORMAT_PATH=${TOOLROOT}/usr/libexec \ > > CFLAGS="-nostdinc ${CFLAGS}" # XXX -nostdlib > > AHA!! So I wan't being all that dumb!! > > Thanks! I think this will fix my problem. (Eagerly awaits JB's > pronouncements) WORLDTMP is private to the `make world' build system which is private to the top level makefiles. No other makefiles should know about these. They should rely on the environment variables that the tools naturally look for. LIBRARY_PATH is what tells the linker what path to use instead of /usr/lib when searching for libraries to link against. In phase two of an aout->elf transition build, LIBRARY_PATH points to /usr/obj/elf/usr/src/tmp/usr/lib/elf:/usr/obj/elf/usr/src/tmp/usr/lib whereas LD_LIBRARY_PATH is /usr/obj/aout/usr/src/tmp/usr/lib/aout, so the linker should only see elf libraries. -- John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/ CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message