From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id A3922139897 for ; Tue, 25 Aug 2015 17:59:03 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AC046E0806; Tue, 25 Aug 2015 17:58:56 +0000 (UTC) Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 58DA5E076D for ; Tue, 25 Aug 2015 17:58:55 +0000 (UTC) Received: by wijn1 with SMTP id n1so929164wij.0 for ; Tue, 25 Aug 2015 10:58:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type:content-transfer-encoding; bh=XQFIADd89L3BKAfI2/cfZBZJdhL4p1xrSNcvRxcHSTQ=; b=toJqPLJ/+z+2DMxO2qW9Yeq4ZCnzJP37HoMwG4tHCrwRYIuDUV1AJuRGILl4TgwqZH n+13ZoWzkGKND2R4btFT67hy1RxfO3KTBTPBBu6o7F+Ydn/qc53yV/uIE/+KBc+jzRQO 9mvdqg64fLQBZhCiHCNisB9fbeZ+AwayrK/asnyZGHmFZc1QbGtJhPXnvXmXb0osKnef qNNVIBMQqWjfGKfHH6uzFqXWDoUwKEGW2WXWSVWYmAYogHYFO18y2mmorP97nVFndKkY hkBDJDvDn1CprV/3hX/eaezJiyO/wnD5nXhQ/jYLx+M7M4D19WPghI0T2F/W26GM1aR/ UDTg== X-Received: by 10.194.93.198 with SMTP id cw6mr54066254wjb.113.1440525534073; Tue, 25 Aug 2015 10:58:54 -0700 (PDT) Received: from [172.20.0.41] ([105.210.27.214]) by smtp.googlemail.com with ESMTPSA id bu12sm29158052wjb.44.2015.08.25.10.58.50 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 25 Aug 2015 10:58:51 -0700 (PDT) Subject: Re: [gentoo-user] Endless preserved-rebuild loop, libmozalloc & more To: gentoo-user@lists.gentoo.org References: <55DB711A.5080105@gmail.com> <55DC43B1.6030004@gmail.com> From: Alan McKinnon Message-ID: <55DCACD4.9000904@gmail.com> Date: Tue, 25 Aug 2015 19:58:44 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Archives-Salt: af664c50-3c6e-4cd2-aecc-eafc169e04e4 X-Archives-Hash: fd61caf283a52f2621b5d698d854ed40 On 25/08/2015 19:43, Fernando Rodriguez wrote: > On Tuesday, August 25, 2015 12:30:09 PM Alan McKinnon wrote: >> On 25/08/2015 04:28, Fernando Rodriguez wrote: >>> On Monday, August 24, 2015 9:31:38 PM Alan McKinnon wrote: >>>> Does anyone have an opinion to offer on bug 501468? >>>> >>>> https://bugs.gentoo.org/show_bug.cgi?id=501468 >>>> >>>> It's been annoying me for a week now with this message: >>>> >>>> !!! existing preserved libs: >>>>>>> package: www-client/firefox-40.0.2 >>>> * - /usr/lib64/firefox/libmozalloc.so >>>> * used by /usr/lib64/thunderbird/components/libdbusservice.so >>>> (mail-client/thunderbird-38.2.0) >>>> * used by /usr/lib64/thunderbird/components/libmozgnome.so >>>> (mail-client/thunderbird-38.2.0) >>>> * used by >>>> /usr/lib64/thunderbird/distribution/extensions/{e2fda1a4-762b-4020-b5ad- >>> a41df1933103}/components/libcalbasecomps.so >>>> (mail-client/thunderbird-38.2.0) >>>> * used by 4 other files >>>> >>>> >>>> Both Mozilla products ship this file: >>>> >>>> $ locate libmozalloc >>>> /usr/lib64/firefox/libmozalloc.so >>>> /usr/lib64/thunderbird/libmozalloc.so >>>> >>>> and according to preserved libs, thunderbird linked to the firefox copy. >>>> The only offered solution on the bug is to use a MASK variable, which >>>> seems to me an ugly hammer to swat a fly. >>>> >>>> I was wondering if there's a better way been developed in the last year. >>> >>> Actually, now I have a general idea of what's going on and that sounds > like an >>> acceptable solution but perhaps I could be better. This is what happens: >>> >>> 1. revdep-rebuild uses ldd to find breakage. It finds breakage in >>> libdbusservice.so because firefox uses tricks to preload the library from > it's >>> directory. >>> 2. revdep-rebuild find that thunderbird provides the library and thinks it >>> needs to be rebuild. (And wrongly tells you that firefox links against it). >>> >>> A better way would be: >>> >>> 1. same as step 1 above >>> 2. revdep-rebuild checks the package that provides the broken binary (in > this >>> case the firefox package), if this package also provides the missing > library >>> then it's safe to ignore the problem. >>> 3. same as step 2 above. >>> >>> Another solution is to make patch firefox to use RPATH so ldd can find the >>> labraries, this would also make prelink work better with firefox but it's >>> probably not ideal to mantain. >> >> >> that does make sense. In my case, it's not revdep-rebuild causing >> problems, it's the preserved-rebuild message at the end of emerge -v >> >> At this level is there a difference? > > I don't know the details but it seems to me that portage either uses revdep- > rebuild to find breakage (without scanning the whole system) before deleting > the old libs for good or duplicates some of it's logic. Come to think of it, > the SEARCH_DIR_MASK may not be ideal because if I understand what it does > correctly then real breakage in firefox won't be detected. > My thought too. To me, SEARCH_DIR_MASK is fine for things like /opt/skype because it's binary and either works or it doesn't, and when it doesn't there's not much I can do about it. It may be the least sucky of all available solutions, but it's still swatting a fly with a hammer -- Alan McKinnon alan.mckinnon@gmail.com