Gentoo Archives: gentoo-user

From: "Andreas K. Huettel" <dilfridge@g.o>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Machine completely broken; Ncursed!
Date: Sun, 12 Apr 2015 14:11:39
Message-Id: 201504121614.04408.dilfridge@gentoo.org
In Reply to: Re: [gentoo-user] Machine completely broken; Ncursed! by Alan Grimes
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA512
3
4 Am Sonntag, 12. April 2015, 02:42:20 schrieb Alan Grimes:
5 >
6 > /etc/portage # emerge --info
7 > [[: error while loading shared libraries: libtinfo.so.5: cannot open
8 > shared object file: No such file or directory
9 > Failed to validate a sane '/dev'.
10 > bash process substitution doesn't work; this may be an indication of a
11 > broken '/dev/fd'.
12 > /etc/portage #
13
14 OK. That means your system is seriously broken now, but I gather you already
15 know that. I doubt there is a way to get back to a working system without
16 tricks/extra downloads.
17
18 Most of the comments below are now mostly "trying to find out what happened".
19 I'm leaving out stuff where I dont see anything problematic.
20
21 > > > The ncurses problem has been a low-level
22 > > > issue for a long time but, with tinfo set, 99% of packages worked.
23 > >
24 > > Define low-level issue. What was broken all the time that you ignored?
25 >
26 > Busybox, valgrind, a number of other minor packages.
27
28 OK, now what was wrong there? Do you still have any old build logs maybe?
29
30 > > > 2. It sent out a profile that sets variable ABI_x86 with 32 bit
31 > > > enabled. ALARM: ABI_x86 should be set in exactly one place:
32 > > > /etc/portage/make.conf and nowhere else. But, nevertheless, ABI_x86 WAS
33 > > > set which broke the profile because my system cannot compile 32 bit
34 > > > executables. =( I tried the no-multilib profile but it didn't have a
35 > > > number of essential useflags and was foobar.
36 > >
37 > > You're still not providing the slightest bit of useful information.
38 > >
39 > > What happens if you try to generate a 32bit executable?
40 >
41 > Fails completely due to linking errors even though it should always be
42 > possible to compile something without its binary dependencies (with only
43 > the headers) because symbol resolution should take place at load time. =|
44
45 Well... Yes it is possible to compile things. But they also need to get
46 linked, and for that the libraries need to be present. No you cannot build
47 something against a library without the library being present.
48
49 > CFLAGS="-O3 -march=native -pipe "
50 > CXXFLAGS="${CFLAGS}"
51
52 - -O3 is not a good idea. -O2 is safe.
53
54 > LDFLAGS="-lncurses "
55
56 I hope you forced that in only at the end when things were already broken and
57 you tried to fix them. Wrong. Bad. Wrong. Bad.
58
59 > ACCEPT_KEYWORDS="amd64 ~amd64"
60
61 Should not be a big problem (since ~amd64 is pretty well maintained these
62 days), but in general you'll likely hit more bugs if you run unstable. In this
63 case it's definitely an advantage if you are familiar with bug reporting
64 procedures and frequent our bugzilla.
65
66 > USE="...
67 > c++0x
68
69 No. Just no, since you may run into all sorts of trouble with C++ programs.
70 (There was a news item about this recently.) I doubt that it is related to
71 your problems though.
72
73 > custom-cflags
74
75 No. Again. Just no. Do this and you get to keep the pieces. I dont dare to do
76 that myself. Especially in combination with -O3 it's, well,...
77
78 > discouraged
79
80 Read it and despair.
81
82 > sse2 sse3 sse4
83
84 Unproblematic but outdated. Also a recent news item.
85
86 So, now about getting back to a working system. There are many ways, none of
87 them really 100% clean given the amount of breakage, and I'm not really a
88 specialist. Some ideas, unverified and untested; I've never done this myself.
89
90 * Boot from a rescue system
91 * Mount your gentoo installation somewhere
92 * Copy your setup (/etc, /var/lib/portage/world) to a safe place (usb stick)
93 * For an amd64 multilib system doublecheck that both in /usr and / the "lib"
94 entry is a symlink to "lib64" in the same directory.
95 * Download the newest amd64 multilib stage3 and untar it over your system.
96 * restore your make.conf, *sanitized*
97 CFLAGS="-march=native -O2 -pipe"
98 * chroot into the system, and run emerge -eav system
99 * then reboot normally and run emerge -eav world (you may have to repeat this
100 a few times, since some packages may still be broken and portage won't
101 necessarily rebuild them in the correct order)
102 * then restore your old world file and repeat the last step
103
104 IF YOU HAVE A SPARE PARTITION, there is a much better way- do a new install
105 there, instead of all the above steps.
106
107 Good luck.
108
109 - --
110 Andreas K. Huettel
111 Gentoo Linux developer (council, perl, libreoffice)
112 dilfridge@g.o
113 http://www.akhuettel.de/
114 -----BEGIN PGP SIGNATURE-----
115 Version: GnuPG v2
116
117 iQIcBAEBCgAGBQJVKn2dAAoJEB9VdM6hupKV2ZsP/Asgl66mmh8/Lzd0mVwNQkts
118 GSszMvt7RNUb2k4lQetXR0psyr9Up7NDrp0plmAAguNJMtZOdgIVZsJ5sTvtWDxT
119 0fxM7EXD2QLzpKIUF0uQFLQ1O+68GYTK0UOai+7OzN99HwALM7U5H9k9hYIrEVY6
120 ZtueUazbfOgWmAM//ZPQltj4GYBeSiW9TLJUbZNHzQFqJkP+uPimYWN9QIkcGyVP
121 UJUlU1IJP9IOF7Ing10zisK1CT3+tEXnyeU930bnaCW1rLAUcm797BmwKWZX9RfW
122 MYqTe6jjWAmnK+n6ScAeCtcwmwZ5MeQQBD7SK8FySSpegev2dEZzrHaI9hvMajtZ
123 4L3i/CCwSwxUs3hjh+cn9kCb1Cs6BUqtXfR9Jt/rSZFOWVE7TbRrIssW0ZEw92x4
124 jKAO//H41EjK830QB6WzWLJxfYSdQ1SEaEW2WHNSdYd4vaxHv9YQp3sdm3zKxWel
125 hY0pEJ5NtQMWGkte0XU0DgowAuDnBMn7Xac//rcOwWsSZiWIn8SmdpxvR43/xAZt
126 Ln4k7xxJhb3a4w9Uocm3vPMOxIgRo2xFrdYNN18VGGz9zVNNyOZhECJDy9EZEtF1
127 liswCUhLUQMhKBau8F/DSpoL4AzZzyHciMNVVVG5PbAeYCr749KKjyp5H7zmPwhC
128 Vbe4Ykem3g/4BnMW1+6e
129 =AjWC
130 -----END PGP SIGNATURE-----