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 055781381F3 for ; Fri, 12 Apr 2013 06:57:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AA207E0AAB; Fri, 12 Apr 2013 06:57:47 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2CA6FE0AAB for ; Fri, 12 Apr 2013 06:57:47 +0000 (UTC) Received: from [192.168.1.210] (S010600222de111ff.vc.shawcable.net [96.49.5.156]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: dolsen) by smtp.gentoo.org (Postfix) with ESMTPSA id 48FA633E01F for ; Fri, 12 Apr 2013 06:57:46 +0000 (UTC) Message-ID: <1365749860.5030.25.camel@big_daddy.dol-sen.ca> Subject: Re: [gentoo-catalyst] Binary package dependencies and update_seed From: Brian Dolbec To: gentoo-catalyst@lists.gentoo.org Date: Thu, 11 Apr 2013 23:57:40 -0700 In-Reply-To: <20130411185347.GA15002@odin.tremily.us> References: <513A2F19.5040203@gentoo.org> <6472ad55830b40f838356a1b083b3815a4112358.1362768301.git.wking@tremily.us> <20130309121023.GE26574@odin.tremily.us> <20130411170941.GA14224@odin.tremily.us> <20130411185347.GA15002@odin.tremily.us> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.6.3 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-catalyst@lists.gentoo.org Reply-to: gentoo-catalyst@lists.gentoo.org Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Archives-Salt: 26ea430a-0ff8-4367-a07c-7a9e2b1905de X-Archives-Hash: d360c120f043a7af96acfee7119e8a71 On Thu, 2013-04-11 at 14:53 -0400, W. Trevor King wrote: > On Thu, Apr 11, 2013 at 11:22:54AM -0700, Matt Turner wrote: > > On Thu, Apr 11, 2013 at 10:09 AM, W. Trevor King wrote: > > > In order to avoid problems like this, it's probably a > > > good idea to remove all the cached stuff with something like [1]: > > > > > > $ rm -rf --one-file-system /var/tmp/catalyst/{kerncache,packages,tmp} > > > > > > before building your stage1. > > > > Not sure this is the way to go. I'll have to think through the > > implications. Consider your stage1 build dies with some stupid tree > > breakage that you can fix in your portage snapshot and restart the > > stage build. This is going to cause your stage to rebuild everything. > > There shouldn't be a need to clear the caches unless you've changed > the specs or sources. Presumably you had to change something to fix > whatever killed stage1. If that was an ebuild problem, it's unlikely > that your fix changed an ABI without also changing the package version > and you should be ok keeping the old binary packages. > > > Wouldn't disabling the use of binary packages during the seed stage > > update fix this? > > Disabling creation of binary packages during the seed stage update > would help, and disabling the use of binary packages during the stage1 > build would help. However, what if you have built a binary package > for GCC and then you update your tree to something that builds > libmpc.so.3. In this case, you're in trouble if you use your old GCC > binary packages anywhere based on the new tree. > > Cheers, > Trevor > OK, When I first discovered the update_seed problem, I discovered several (potential) bugs in the code that could cause failures. My main error was due to using binary pkgs which were built against libmpc.so.2. I talked with Zac (and he agreed) portage _SHOULD_ be checking NEEDED.ELF.2 which lists the actual libs it is linked to. There is an open bug for it in bugzie (sorry, I'm too tired to look for it). If a package manager supports installing binpkgs, then it should ensure it is not installing a broken pkg due to mismatched lib links. Everything else that is done in catalyst to avoid that is really just a workaround until the package manager is fixed. Blueness recently wrote a utility that scanned NEEDED.ELF.2 and looked for broken/mismatched lib deps. Perhaps he could help in getting portage's binpkg handlers updated to check that the binpkg's lib deps are met for it to qualify to be used.