From owner-freebsd-ports@FreeBSD.ORG Mon Sep 8 18:14:01 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 DDEED696 for ; Mon, 8 Sep 2014 18:14:00 +0000 (UTC) Received: from mail-ig0-f170.google.com (mail-ig0-f170.google.com [209.85.213.170]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A68D6143A for ; Mon, 8 Sep 2014 18:14:00 +0000 (UTC) Received: by mail-ig0-f170.google.com with SMTP id h3so3187999igd.5 for ; Mon, 08 Sep 2014 11:13:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version:content-type; bh=DvGx9swMQniKk6NDwxnk22QrMdYYV2tx+wua80GHKq0=; b=gdoOuRqWVCXBBxef1QU91zSYA0BJConxT/obD3JqK12rnudNkY8tecqCj9n4tQDWpI X2DgsnW1K3urGfyOWYBNh0nPGd48J6MMCHfRvqkOVvm1nJij6GgPDAZcZu94/QpTSC5/ Xtiag/MLAkILh0HJjiQ6MRHYTwFswMfjj2ZEzoa1djGOaO4mznJEC7/PYXJ33xx8IxrR vuIHqYqGfcqwdy5Sj9+EJymDgd6RbR/gETzzPTj2sUdNIWkNVI+BWmE7zy/0tZmN5Q9V 8bck6HrGLphlVmtk/umdvBna68wszRFfMedAQF9WGTJ8M9L2gh2WYg0bvtyPRmedtl/P ThPw== X-Gm-Message-State: ALoCoQn/NQ6y/aPJdExKixw0l7ZfxB4Kd1uGB8VDoy03cFBZ/Aqn62LVxCLYcXccrl2f1TpddNvw X-Received: by 10.50.25.65 with SMTP id a1mr25557007igg.3.1410200034137; Mon, 08 Sep 2014 11:13:54 -0700 (PDT) Received: from ninga.iciti.internal (CPE0080c8f208a5-CM001371173cf8.cpe.net.cable.rogers.com. [99.246.61.82]) by mx.google.com with ESMTPSA id qp10sm11623512igb.4.2014.09.08.11.13.52 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 08 Sep 2014 11:13:53 -0700 (PDT) Date: Mon, 8 Sep 2014 14:11:53 -0400 (EDT) From: Graham Todd X-X-Sender: gtodd@ninga.iciti.internal To: Tijl Coosemans Subject: Re: USES = libtool and missing .la files [WAS Re: pkg-plist for devel/glib20] In-Reply-To: <20140908195919.262177f2@kalimero.tijl.coosemans.org> Message-ID: References: <20140907013546.GA10438@SDF.ORG> <20140908195919.262177f2@kalimero.tijl.coosemans.org> User-Agent: Alpine 2.11 (BSF 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed 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 18:14:01 -0000 On Mon, 8 Sep 2014, Tijl Coosemans wrote: [snip] >> '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)? cheers,