From owner-freebsd-ports@FreeBSD.ORG Mon Sep 8 21:49:39 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B2C4B9DB for ; Mon, 8 Sep 2014 21:49:39 +0000 (UTC) Received: from mailrelay009.isp.belgacom.be (mailrelay009.isp.belgacom.be [195.238.6.176]) by mx1.freebsd.org (Postfix) with ESMTP id 4EADA11C1 for ; Mon, 8 Sep 2014 21:49:38 +0000 (UTC) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AocGAKojDlRR8Z/O/2dsb2JhbABZgw1TV8l5h1QBgRgXeIQEAQUnExwjEAsOCgklDyoeBhOIRgG9QAEXj00HhEwBBJVwgjyERYFgk02DYzsvgk8BAQE Received: from 206.159-241-81.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([81.241.159.206]) by relay.skynet.be with ESMTP; 08 Sep 2014 23:49:31 +0200 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.9/8.14.9) with ESMTP id s88LnUk3023240; Mon, 8 Sep 2014 23:49:30 +0200 (CEST) (envelope-from tijl@FreeBSD.org) Date: Mon, 8 Sep 2014 23:49:29 +0200 From: Tijl Coosemans To: Graham Todd Subject: Re: USES = libtool and missing .la files [WAS Re: pkg-plist for devel/glib20] Message-ID: <20140908234929.3c9717ba@kalimero.tijl.coosemans.org> In-Reply-To: References: <20140907013546.GA10438@SDF.ORG> <20140908195919.262177f2@kalimero.tijl.coosemans.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: cary@sdf.org, "freebsd-ports@freebsd.org" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Sep 2014 21:49:39 -0000 On Mon, 8 Sep 2014 14:11:53 -0400 (EDT) Graham Todd wrote: > On Mon, 8 Sep 2014, Tijl Coosemans wrote: >>> 'USES=libtool ' about a week ago. Perhaps pkg-plist files are not >>> including the files due to this change. >>> >>> /usr/port/UPDATING doesn not warn of any problems or fallout from >>> 'USES=libtool'. How best to resolve this? >> >> .la files are being removed because they cause overlinking, i.e. in the >> dependency chain A->B->C they add an extra link from A to C even if >> A doesn't use C directly. This makes updates to C expensive because >> then both A and B have to be rebuilt instead of just B. >> >> The files have been removed in a specific order such that you should not >> see build problems if you follow normal update guidelines. That means >> for instance that before updating a port you must make sure that its >> dependencies are up to date. A tool like portmaster or portupgrade >> handles that for you. >> >> Now that you are seeing build problems you can figure out which packages >> need to be rebuilt like this: >> >> find /usr/local/lib -name '*.la' | xargs grep -l 'libglib-2\.0\.la' | xargs pkg which >> >> This will print a list of .la files that refer to libglib-2.0.la and >> which package they belong to. Where it says "not found in the database" >> some update in the past must have gone wrong leaving this file behind. >> Just remove that file. After removing all such .la files, where it says >> "installed by package X", rebuild X. The list printed by that command >> should eventually be empty. >> >> Whenever you encounter a build error about a missing .la file you need >> to repeat this. For instance, if you get an error about libiconv.la the >> command you have to run is: >> >> find /usr/local/lib -name '*.la' | xargs grep -l 'libiconv\.la' | xargs pkg which > > Tijl, thanks for the pointers (and all your QA work on the ports tree > BTW). > > Would it be worhtwile for me to file some kind of QA PR that could be > linked to from UPDATING (not sure if this is how the new bugzilla setup is > meant to be used)? I'll write an UPDATING entry tomorrow.