Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Subject: [gentoo-amd64] Re: grub and glibc won't build on my new install
Date: Sat, 23 Jan 2010 09:48:50
In Reply to: Re: [gentoo-amd64] Re: grub and glibc won't build on my new install by Randy Barlow
1 Randy Barlow posted on Fri, 22 Jan 2010 23:41:05 -0500 as excerpted:
3 > Randy Barlow wrote:
4 >> I'll give the sandbox trick a whirl.
5 >
6 > Well, that turned out to be kind of hilarious:
8 > * If configure failed with a 'cannot run C compiled programs' error,
9 > try this:
10 > * FEATURES=-sandbox emerge sandbox
11 >
12 > I love how the package itself tells me to try the very command I did
13 > try.
15 Yeah... That's a known issue, with that as one of the common fixes, so
16 they mention it. Obviously they don't check the feature set when output
17 that, tho.
19 > Anyways, perhaps I should just extract another snapshot over this
20 > one...
22 That sounds like a good idea. The toolchain is obviously broken, and
23 extracting a new stage tarball over top is one way to fix it.
25 When you retry, keep track of what packages are installed and if you get
26 that problem, which of the toolchain packages (gcc and glibc especially)
27 was installed last. That's going to be the problem package. If they're
28 all still what was on the stage tarball, then it's gotta be it.
30 Meanwhile, to make things easier if something like this happens when you
31 have the system up and running normally, you may wish to set
32 FEATURES=buildpkg (and set PKGDIR appropriately if you don't like the
33 default). That way, as you build packages, they'll get binpkged as
34 well. Over time, you'll build up multiple versions of most packages, and
35 if one breaks, it's easy enough to revert using emerge --usepkgonly =pkg-
36 version. That way, a broken gcc won't matter as you can just remerge an
37 older, working version. If the problem is portage or python, so emerge
38 itself is broken, since the binpkgs are simple tarballs with extra
39 metadata tacked on the end, you can simply extract the tarball directly
40 over the live filesystem if you have to (but be sure to move config files
41 out of the way first, so they don't get overwritten by the defaults in
42 the pkg tarball, then move them back). Of course, portage won't know
43 about it then, so once it's working again, the first thing you'll want to
44 do is remerge the version you just extracted, thus updating the package
45 database so it knows what's installed. If you put PKGDIR on its own
46 filesystem, 4 gigs or so is a reasonable size, giving you room to keep
47 multiple copies of your packages without having to clean out the old ones
48 too often.
50 Anyway... hassles with 32-bit, and the fact that I don't run
51 proprietaryware and all the FLOSS I run had been long ported to amd64
52 anyway, were the reason I finally decided a couple years ago to go no-
53 multilib.
55 Generally, the only reason to run multilib is proprietary binary-only
56 32-bit-only packages such as games, codecs, and possibly other legacy
57 software, and codecs, flash, etc, are more and more available for 64-bit
58 anyway, if you /do/ choose to run proprietary, so the reasons to hassle
59 32-bit multilib are becoming fewer and fewer. Meanwhile, the benefits to
60 going multilib include leaving the hassle of keeping a working 32-bit
61 toolchain behind, and halving your gcc and glibc compile time because 32-
62 bit doesn't need built. For me, that was an easy choice to make, and one
63 I haven't regretted. I only wished I had made it sooner! =:^)
65 And, FWIW, it's always possible to do the 32-bit chroot thing using the
66 Gentoo guide for it, and compile your own separately tracked 32-bit
67 system. Actually, that's what I did when I setup my netbook with Gentoo,
68 using a 32-bit chroot to setup an image on my main machine, since it's so
69 much more powerful, then transferring the image to the netbook. I'm
70 using rsync to keep the images synced, now.
72 --
73 Duncan - List replies preferred. No HTML msgs.
74 "Every nonfree program has a lord, a master --
75 and if you use the program, he is your master." Richard Stallman