From owner-freebsd-bugs@FreeBSD.ORG Tue Sep 23 18:00:28 2008 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C64291065672; Tue, 23 Sep 2008 18:00:28 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from mail.vega.ru (infra.dev.vega.ru [90.156.167.14]) by mx1.freebsd.org (Postfix) with ESMTP id 7AEC18FC1E; Tue, 23 Sep 2008 18:00:28 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from [87.242.97.68] (port=55534 helo=edoofus.dev.vega.ru) by mail.vega.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68 (FreeBSD)) (envelope-from ) id 1KiBe5-000BOv-Rq; Tue, 23 Sep 2008 17:25:53 +0000 Date: Tue, 23 Sep 2008 21:25:46 +0400 From: Ruslan Ermilov To: Eygene Ryabinkin Message-ID: <20080923172546.GA86219@edoofus.dev.vega.ru> References: <200809231315.m8NDF2H0059246@freefall.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Cc: lulf@FreeBSD.org, pjd@FreeBSD.org, freebsd-bugs@FreeBSD.org Subject: Re: bin/127573: [patch] add proper library dependencies to bsdlabel and fdisk X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2008 18:00:28 -0000 On Tue, Sep 23, 2008 at 05:52:27PM +0400, Eygene Ryabinkin wrote: > Ruslan, good day. > > Tue, Sep 23, 2008 at 01:15:02PM +0000, ru@FreeBSD.org wrote: > > Synopsis: [patch] add proper library dependencies to bsdlabel and fdisk > > > > State-Changed-From-To: open->closed > > State-Changed-By: ru > > State-Changed-When: Tue Sep 23 13:13:41 UTC 2008 > > State-Changed-Why: > > Patch applied, thanks. > > Thank you! > > > Tinderboxes don't see it because they have default option set > > without NO_DYNAMICROOT. > > You mean that dynamic executables are compiled with something like > '--allow-shlib-undefined'? Am I right that this is due to the > complexity of library build ordering, so one relies on the fact that > after the build all symbols, unresolved at the linkage time, will be > present? > > Thanks for the enlightenment. > fdisk(8) and bsdlabel(8) only use libgeom API, and don't use libbsdxml and libsbuf directly. When compiling them dynamically (i.e., using the default build configuration), specifying libgeom is enough -- all symbols that they use are present in libgeom.so. The fact that libgeom also uses libbsdxml and libsbuf internally is hidden behind the static linkage. It could be that these tools only used parts of libgeom API that don't need libbsdxml nor libsbuf; in that case, even with static linkage they would be unnecessary. Cheers, -- Ruslan Ermilov ru@FreeBSD.org FreeBSD committer