Frank Peters posted on Mon, 30 Mar 2015 17:04:58 -0400 as excerpted: > On Mon, 30 Mar 2015 12:15:55 -0700 Mark Knecht <markkne...@gmail.com> > wrote: > >> Yesterday I was emerge -DuN @world clean. It took hours due to Gentoo >> decisions about multilib stuff. >> >> > Is it still necessary to be using multilib?
If you're running 100% freedomware, almost certainly not -- if you look at the per-arch package coverage stats in the gentoo newsletter, amd64 actually has higher coverage now than x86, and the trend is certainly downward for x86. [x86 32-bit-only diversion] Actually, as some probably know I follow the gentoo-dev list as well, and just last week there was a short (only a handful of posts, maybe 3-5) discussion on demoting x86 to minor arch status, with the comment that all i86 based cpus have been 64-bit for some years now. Before the rumors get out of hand, however, the very quick conclusion was that now wasn't the time for that, but at the same time, that there's a real chance that conclusion will change in a few years... But note that as I said, the subthread was very short. I expect that if it had been a serious proposal, there would have been a few devs effectively saying "Over my dead body!", as they have for a few other proposals over the years. That, BTW, is why gentoo continues to have a very solid commitment to openrc, even as systemd is now well supported as effectively an equal option. There's some very core devs and some of gentoo's donated hosting running openrc on installations of hundreds or thousands of machines, and as long as that's the case, openrc support won't be going anywhere, because if it did, gentoo would suddenly find itself forked and much smaller! I have a feeling the resistance to dropping x86 to minor at this point would be very similar, tho I think everyone agrees now that the time is likely to eventually (perhaps 5-10 years out) come. Meanwhile, personally, I /did/ have a 32-bit-only original atom n270 netbook and thus could have cared, but as I said in the recommendations thread, I loaned it out and don't expect to ever get it back (tho I'm not actually too upset about it), and also as I said in that thread I'm basically standardizing on amd64 for everything now, so no big deal for me personally, tho I definitely agree with the conclusion above, now is not the time. [end diversion] Back to the 32-bit multilib on otherwise 64-bit amd64, tho... As I said, freedomware only, 64-bit-only is almost certainly easiest. If, however, you're running servantware binaries of any sort, well, the signature quote says it, you're effectively a slave to whatever whims the master of that binary may have, and if they've never come out with 64-bit or if you've never chosen to do whatever upgrade at whatever cost might be required to get it, well... But, for those where it's possible to go 64-bit only, I'd strongly recommend it. Back when I originally made the switch on my main machine, if you weren't actually running anything 32-bit it only mattered for a few core packages, glibc and gcc being big ones. But glibc in particular went from being a big deal to build, to just another package, because building it for 32-bit as well effectively doubled the package build time. (And back then, nptl was still new and many things still defaulted to Linux- threads instead of native-posix-thread-library, so big parts of glibc were already built twice, once for lt once for nptl, and building for 32- bit also actually doubled /that/, so people with multilib were actually building glibc FOUR times!! Of course that was on much slower equipment, when dual-core was new too, so it was a **BIG** deal!) But, while the emul-* thing was definitely faster for other packages, it was faster in the binary-distro sense of being pre-built, and thus, not really all that gentooish at all! Which is why, for people that wanted to do it the /real/ gentoo way, there was the 32-bit chroot guide. Which is what I expanded on when I did the 32-bit chroot buildroot for my 32- bit netbook, on my 64-bit main machine. Basically, the original 32-bit chroot guide was setup as a nearly full 32-bit x86, minus the stuff where the 64-bit native side provided the services -- the kernel, most system services like syslog, cron, etc. The point being, people could then actually build the 32-bit stuff themselves, as any real gentooer likely wanted anyway as the control it allows is the /point/ of gentoo, instead of installing the multilib stuff and using the un-gentoo pre-built-binary emul-* solution. Of course, since I was building a complete solution for a 32-bit machine, not just for running 32-bit apps in a chroot, I built the extra packages, kernel, services, etc, as well, in the chroot, and then transferred them to the 32-bit netbook. (Originally I rsynced by thumb-drive "sneakernet", which was how I did the initial install on the netbook. Then after I set up ssh, rsync over the LAN via SSH -- the netbook itself never actually had a copy of the gentoo tree as I never actually ran emerge on it at all, not even for binary packages, I simply rsynced from the 32-bit buildroot chroot.) What the new multilib solution enables is thus far more "gentooish" than emul-* /ever/ was, but by the very SAME token, it's ALSO a lot more work, because you're effectively building a lot more stuff twice, once each for 32-bit and 64-bit. If you still actually NEED the multilib, that's great, you get far more control now by actually building it yourself! But if you do *NOT* need multilib, you're now building MUCH more stuff twice, entirely USELESSLY, simply because you're still setup for multilib and that's what it does, even tho you don't actually NEED it. Thus, as I said, if your use-case is such that you can do so, it's STRONGLY beneficial to go no-multilib, 64-bit only -- you'll save yourself LOTS of time and CPU cycles avoiding the double-builds. OTOH, if your use-case requires multilib, great, you now have it in a far more gentooish way than was ever possible with the emul-* solution! > I've been using pure AMD64 for so long I tend to forget that 32-bit > stuff still exists. Same here. Except that... Since I follow the gentoo-dev list, I saw all the new multilib stuff being hashed out there. Plus, I had a lot of otherwise useless revision- rebuilds to do, that was simply churn due to enabling the new multilib stuff that didn't affect me directly at all other than all the rebuilds (which I still did instead of simply blocking, because while I don't have Mark's 12-core monster, even with a 6-core first-gen amd bulldozer fx6100, it's less hassle and sometimes faster too, to simply do the rebuild than to fiddle with masking it because it's a multilib-only rebuild. But as I'm ~amd64 and even newer (overlays, live-git packages...), even most of those rebuilds happened months ago, far enough back in history that the details are already going fuzzy, for me. But yeah, pretty hard to forget the 32-bit stuff when you're doing a bunch of personally useless rebuilds due to the new multilib stuff that doesn't otherwise affect you at all... Just makes me even /more/ glad I'm no-multilib and don't have to worry about that stuff any longer! =:^) -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman