From owner-freebsd-ports@FreeBSD.ORG Thu Jun 5 16:54:16 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 D47098A6; Thu, 5 Jun 2014 16:54:16 +0000 (UTC) Received: from mailrelay010.isp.belgacom.be (mailrelay010.isp.belgacom.be [195.238.6.177]) by mx1.freebsd.org (Postfix) with ESMTP id 4BC5422DF; Thu, 5 Jun 2014 16:54:15 +0000 (UTC) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlcGAFWfkFNbs4fn/2dsb2JhbABZgwdSS8MWAYEMF3SCJQEBBAEnExwjBQsLDgoJJQ8qHgaITQwB0x8XjlIHhEABA5oSgUCReoM6O4EwJA Received: from 231.135-179-91.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([91.179.135.231]) by relay.skynet.be with ESMTP; 05 Jun 2014 18:53:04 +0200 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.8/8.14.8) with ESMTP id s55Gr35Q041368; Thu, 5 Jun 2014 18:53:03 +0200 (CEST) (envelope-from tijl@FreeBSD.org) Date: Thu, 5 Jun 2014 18:53:03 +0200 From: Tijl Coosemans To: Bryan Drewery Subject: Re: To all port maintainers: libtool Message-ID: <20140605185303.474063c6@kalimero.tijl.coosemans.org> In-Reply-To: <53908119.5040505@FreeBSD.org> References: <20140508002420.5d37e7f6@kalimero.tijl.coosemans.org> <20140508212756.00000df3@Leidinger.net> <20140509001641.63310821@kalimero.tijl.coosemans.org> <53908119.5040505@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Alexander Leidinger , freebsd-ports@FreeBSD.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jun 2014 16:54:16 -0000 On Thu, 05 Jun 2014 09:39:21 -0500 Bryan Drewery wrote: > I don't know what .la files are used for and have no time currently to > research it. > > What is the impact to non-ports consumers of removing .la files? Do they > also need patches to make them build? Removing a .la file is somewhat like a library version bump. Anything that depends on it needs to be recompiled. e.g. externProgA links to externLibB which links to portsLibC The links between files are like this: progA -> libB.so -> libC.so -> libC.so (due to libtool overlinking) libB.la -> libC.la Linking progA with libB using libtool goes through libB.la. If libC.la disappears the link in libB.la goes stale and linking progA will fail. externLibB needs to be recompiled first. libB.la will then contain "-lC" instead of "libC.la". > And if there is no impact, I am thoroughly confused on when to keep or > not keep them. Keeping them is a temporary measure. You can take the previous example but with A, B and C all in the ports tree. If you remove libC.la linking port A may fail unless for all ports B, libB.la does not exist or it contains no references to libC.la (for instance because port B has USES=libtool), or you bump PORTREVISION on port B to force recompilation. If you find you have to bump PORTREVISION on too many ports B then just keep the .la file for now.