1 |
On Thu, 2013-04-11 at 14:53 -0400, W. Trevor King wrote: |
2 |
> On Thu, Apr 11, 2013 at 11:22:54AM -0700, Matt Turner wrote: |
3 |
> > On Thu, Apr 11, 2013 at 10:09 AM, W. Trevor King <wking@×××××××.us> wrote: |
4 |
> > > In order to avoid problems like this, it's probably a |
5 |
> > > good idea to remove all the cached stuff with something like [1]: |
6 |
> > > |
7 |
> > > $ rm -rf --one-file-system /var/tmp/catalyst/{kerncache,packages,tmp} |
8 |
> > > |
9 |
> > > before building your stage1. |
10 |
> > |
11 |
> > Not sure this is the way to go. I'll have to think through the |
12 |
> > implications. Consider your stage1 build dies with some stupid tree |
13 |
> > breakage that you can fix in your portage snapshot and restart the |
14 |
> > stage build. This is going to cause your stage to rebuild everything. |
15 |
> |
16 |
> There shouldn't be a need to clear the caches unless you've changed |
17 |
> the specs or sources. Presumably you had to change something to fix |
18 |
> whatever killed stage1. If that was an ebuild problem, it's unlikely |
19 |
> that your fix changed an ABI without also changing the package version |
20 |
> and you should be ok keeping the old binary packages. |
21 |
> |
22 |
> > Wouldn't disabling the use of binary packages during the seed stage |
23 |
> > update fix this? |
24 |
> |
25 |
> Disabling creation of binary packages during the seed stage update |
26 |
> would help, and disabling the use of binary packages during the stage1 |
27 |
> build would help. However, what if you have built a binary package |
28 |
> for GCC and then you update your tree to something that builds |
29 |
> libmpc.so.3. In this case, you're in trouble if you use your old GCC |
30 |
> binary packages anywhere based on the new tree. |
31 |
> |
32 |
> Cheers, |
33 |
> Trevor |
34 |
> |
35 |
|
36 |
OK, When I first discovered the update_seed problem, I discovered |
37 |
several (potential) bugs in the code that could cause failures. My main |
38 |
error was due to using binary pkgs which were built against libmpc.so.2. |
39 |
|
40 |
I talked with Zac (and he agreed) portage _SHOULD_ be checking |
41 |
NEEDED.ELF.2 which lists the actual libs it is linked to. There is an |
42 |
open bug for it in bugzie (sorry, I'm too tired to look for it). If a |
43 |
package manager supports installing binpkgs, then it should ensure it is |
44 |
not installing a broken pkg due to mismatched lib links. |
45 |
|
46 |
Everything else that is done in catalyst to avoid that is really just a |
47 |
workaround until the package manager is fixed. |
48 |
|
49 |
Blueness recently wrote a utility that scanned NEEDED.ELF.2 and looked |
50 |
for broken/mismatched lib deps. Perhaps he could help in getting |
51 |
portage's binpkg handlers updated to check that the binpkg's lib deps |
52 |
are met for it to qualify to be used. |