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