From owner-freebsd-ports@FreeBSD.ORG Sat Jun 5 21:31:38 2010 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CCF71065700 for ; Sat, 5 Jun 2010 21:31:38 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id 901EB8FC0A for ; Sat, 5 Jun 2010 21:31:37 +0000 (UTC) Received: from outgoing.leidinger.net (pD9E2C6B8.dip.t-dialin.net [217.226.198.184]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id 95FAB84405D; Sat, 5 Jun 2010 23:31:31 +0200 (CEST) Received: from unknown (unknown [192.168.2.110]) by outgoing.leidinger.net (Postfix) with ESMTP id 9505C52BC; Sat, 5 Jun 2010 23:31:28 +0200 (CEST) Date: Sat, 5 Jun 2010 23:31:28 +0200 From: Alexander Leidinger To: freebsd-ports@freebsd.org Message-ID: <20100605233128.0000011e@unknown> In-Reply-To: References: X-Mailer: Claws Mail 3.7.2cvs15 (GTK+ 2.16.0; i586-pc-mingw32msvc) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: 95FAB84405D.A767D X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=1, required 6, autolearn=disabled, ALL_TRUSTED -1.00, BR_SPAMMER_URI 2.00) X-EBL-MailScanner-SpamScore: s X-EBL-MailScanner-From: alexander@leidinger.net X-EBL-MailScanner-Watermark: 1276378294.93243@R4SqpVWbB7I4nBPJfebK6g X-EBL-Spam-Status: No Cc: bf1783@gmail.com Subject: Re: devel/gettext further update X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jun 2010 21:31:38 -0000 On Fri, 4 Jun 2010 09:20:48 +0000 "b. f." wrote: > Alexander Leidinger wrote: > >Quoting Doug Barton (from Thu, 03 Jun 2010 > 11:29:01 -0700): > > > >> On 06/03/10 05:39, Matthias Andree wrote: > >>> Am 03.06.2010 13:30, schrieb Andrey Chernov: > >>> > >>>> security/libksba > >>>> security/libgcrypt > >>>> (they use libgpg-error) > >> > >> So libgpg-error needs to be bumped, but why do things that don't > >> like directly with gettext need it? One of the major benefits of > >> shared libraries is to avoid pointless recompiling. > > > >The reason (for those interested) is explained here: > http://www.leidinger.net/blog/2010/06/03/direct-indirect-and-explicit-dependencies-in-progamsports/ > > Just for the record, the useful > ports/Tools/scripts/explicit_lib_depends.sh, described and used in > your link above, may _not_ find libraries that: > > -- are needed, but were intended to be statically linked; Correct. If you are of a way how to detect it after the fact, feel free to share the info here. > -- are needed, but loaded via dlopen(3) and friends (this is noted in > a comment in ports/Tools/scripts/neededlibs.sh ); Correct. The goal for the scripts are to find entries for LIB_DEPENDS. A static lib is a BUILD_DEPEND, not a LIB_DEPEND, and something which is opened via dlopen() is typically not a LIB_DEPEND but a RUN_DEPEND (it is the other way around and the stuff which is dlopen()en depends upon what is dlopen()ing it). Additionally if a something is using dlopen(), it should give sensible error messages when it does not work, so instead of a cryptic error message which not everyone understands, there should be (yes, I know, this is an idealistic POV) an error message even your mother can understand. I have to tell that those scripts are far from finished, the heuristic of files to look at needs to be improved, and the translation into ports-framework variable (like GNOME and X11 ones) needs to be written. I didn't continue with this back when I was committing those scripts, as the 3rd party software was far away from a state which would made it really useful (indirect dependencies show up in runs of the scripts, but they are not really welcome in our ports). > -- are needed, and dynamically linked in the usual way, but are not > referenced in any ELF DT_NEEDED tags. These tags are optional, not > mandatory, in the System V ABI, and they can be missing for a number > of reasons. They may not be present in a pre-compiled binary. Or, > for example. because some ports make shared libraries by converting > static archives into shared libraries with the linker, the tags can > sometimes be missing for those libraries. Also, some ports use a > version of gcc4* wired to devel/binutils, but then directly invoke > some portion of the older base system binutils. I've seen this lead > to missing tags in the past. Apart from the fact that I did not know that, do you know which ports in the FreeBSD ports collection show this problem? Is there another way to find this info in then? Bye, Alexander.