1 |
On Saturday, April 11, 2015 10:22:09 AM Alan Grimes wrote: |
2 |
> My machine is so completely broken right now I can't open any new |
3 |
> terminal sessions. |
4 |
> |
5 |
> This is because I stupidly tried to toggle tinfo useflag in a desperate |
6 |
> attempt to get everything in my portage tree working again. |
7 |
> |
8 |
> Why now did nothing in my portage tree build? |
9 |
> |
10 |
> It wasn't building for two reasons: |
11 |
> |
12 |
> 1. My machine is not correctly configured to build 32 bit executables, |
13 |
> mainly because I cannot find a 32 bit version of ncurses that ld is |
14 |
> willing to acknowledge the existence of. |
15 |
> |
16 |
> 2. LD cannot find ncurses, -- It simply can't, in 64 bit mode either. |
17 |
> That is the only error message it ever gives and vast amount of effort |
18 |
> spent in sessions over the last year and a half have failed to find any |
19 |
> solution. I only installed Gentoo on this machine four and a half years |
20 |
> ago so it's hard to imagine what could have gotten this royally foobar |
21 |
> in such a short period. |
22 |
> |
23 |
> |
24 |
> I am an enthuseastic supporter of multilib, I even tried to set it up |
25 |
> myself but failed due, once again, to ncurses. |
26 |
> |
27 |
> I was running my system as usual, running updates every week or two, no |
28 |
> major issues since the libav clusterfuck a few months ago. (Libav is a |
29 |
> cult not a software project). The ncurses problem has been a low-level |
30 |
> issue for a long time but, with tinfo set, 99% of packages worked. |
31 |
> |
32 |
> And then portage did two things. |
33 |
> |
34 |
> 1. It masked emul-linux -- A move that I support, it's time to see that go. |
35 |
> |
36 |
> 2. It sent out a profile that sets variable ABI_x86 with 32 bit enabled. |
37 |
> ALARM: ABI_x86 should be set in exactly one place: |
38 |
> /etc/portage/make.conf and nowhere else. But, nevertheless, ABI_x86 WAS |
39 |
> set which broke the profile because my system cannot compile 32 bit |
40 |
> executables. =( I tried the no-multilib profile but it didn't have a |
41 |
> number of essential useflags and was foobar. |
42 |
> |
43 |
> |
44 |
> Right now my system is completely unusable and will need fresh stage3 |
45 |
> packages followed by an emerge emptytree to recover. But before I can do |
46 |
> that, I need a sane profile and to know that the person who pushed out |
47 |
> the changes to portage, obviously without any testing whatsoever, that |
48 |
> broke my system so comprehensively is tortured, executed, butchered, and |
49 |
> then cremated. |
50 |
|
51 |
This is probably what happened: |
52 |
|
53 |
1. You have ncurses and emul-linux libraries installed. Everything's good. |
54 |
2. You come up with this genius idea: LDFLAGS="-lncurses " |
55 |
3. You uninstalled emul-linux (including 32-bit ncurses). Now you need to |
56 |
rebuild ncurses BUT YOU'RE LINKING IT AGAINST ITSELF. This fails because you |
57 |
don't have 32-bit ncurses (may fail even if you did, not sure). |
58 |
4. Since you're linking everything against ncurses everything 32-bit fails. |
59 |
|
60 |
Duh! You could've probably fixed it by just removing that LDFLAGS line and |
61 |
rebuilding ncurses. |
62 |
|
63 |
-- |
64 |
Fernando Rodriguez |