From owner-freebsd-questions@FreeBSD.ORG Thu Dec 11 10:51:10 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 61D1A16A4CE for ; Thu, 11 Dec 2003 10:51:10 -0800 (PST) Received: from heechee.tobez.org (heechee.tobez.org [217.157.39.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5ABE643D2D for ; Thu, 11 Dec 2003 10:51:08 -0800 (PST) (envelope-from tobez@tobez.org) Received: by heechee.tobez.org (Postfix, from userid 1001) id 82548175D2; Thu, 11 Dec 2003 19:51:06 +0100 (CET) Date: Thu, 11 Dec 2003 19:51:06 +0100 From: Anton Berezin To: Tony Jones Message-ID: <20031211185106.GA22770@heechee.tobez.org> Mail-Followup-To: Anton Berezin , Tony Jones , Lucas Holt , nick@tonkinresolutions.com, questions@freebsd.org References: <20031211175428.0C4A25F6@zebedee.tonyjones.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031211175428.0C4A25F6@zebedee.tonyjones.com> User-Agent: Mutt/1.5.4i cc: questions@freebsd.org cc: nick@tonkinresolutions.com Subject: Re: problem with perl 5.8 on 4.9-PRERELEASE X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Dec 2003 18:51:10 -0000 On Thu, Dec 11, 2003 at 09:54:27AM -0800, Tony Jones wrote: > LD_LIBRARY_PATH is in the environment in all cases (=/usr/lib). > > Anyone got any ideas. It's probably something obvious but it isn't dawning > on me. Yes, I have rebooted post installing perl. This is all 4.9 FreeBSD. It is very very wrong to have LD_LIBRARY_PATH defined in the environment, doubly so for such paths as /usr/lib, which is in ldconfig hints _anyway_. FreeBSD's behavior does not correspond to ld(1) manual page - in reality LD_LIBRARY_PATH takes precedence to everything, including -rpath (see the manpage for details). The manpage should be fixed, obviously, but the current FreeBSD behavior is nevertheless correct, for otherwise it would not be possible to upgrade a software package when it's .so API changes even slightly. LD_LIBRARY_PATH is there just for this reason - to knowlingly override whatever other means of locating shared libraries there are. It should not be used for setting system-wide defaults, which is a job for ldconfig(8). You might want to look at http://www.freebsd.org/cgi/query-pr.cgi?pr=59186 (same situation as yours) and http://www.freebsd.org/cgi/query-pr.cgi?pr=28191 (why rtld-els behavior was changed). Hope this helps, \Anton. -- Civilization is a fractal patchwork of old and new and dangerously new. -- Vernor Vinge