Richard Fish schreef: > Holly Bostick wrote: > > >>OK, I'm following both of you so far. Yes, I do have 'multislot' for >>binutils. I admit it was just guesswork on my part; I read the USE flag >>description, thought about automake and autoconf, thought that binutils >>sounded like the kind of system utility that might need similar >>functionality (though for reasons I wouldn't know about, as a >>non-programmer), so enabled it. But of course, now I still don't know if >>I actually need it or it's just causing me grief. Was it a bad call? >> >> > > > First, let me say that I couldn't find any documentation via google > ("site:gentoo.org multislot") or in use.desc for multislot. So if I > contradict anything that the documentation says, I am probably wrong. ;->
$ useflag multislot /usr/portage/profiles/use.local.desc:sys-devel/binutils:multislot - Allow for multiple versions of binutils to be emerged at once for same CTARGET /usr/portage/profiles/use.local.desc:sys-devel/gcc:multislot - Allow for SLOTs to include minor version (3.3.4 instead of just 3.3) "useflag" is an alias that searches the system useflag docs for the description of the requested useflag. I got it from a posting on this ML, and saved it, it's so useful-- which is why I'll post it again. Put this in your .bashrc: alias useflag='grep /usr/portage/profiles/use.*desc -e' and . ~/.bashrc, and you can just type useflag <flag_you_don't_know> to get the descriptions. > > The only reason I can think of for having multiple versions of binutils > around is for cross-compiling or distcc use. For both cases, I think > you would want the same compiler version and platform target available > on all systems. There also might be a dependancy between binutils and > gcc versions, (version x of gcc requires version y of binutils). But > the current version of gcc should always work with the current version > of binutils, so unless you are doing cross-compiling or distcc, I don't > really see the point in keeping multiple versions of binutils around. OK, thank you. I am doing neither. Guess that explains why it's an optional dependency. I should have learned by now that adding features that you *might possibly* need (but you don't really know if you need), as opposed to features that you can clearly see that you need (based on your specific system), is just a losing proposition. Every time I try "compiling for the future", it just doesn't work out. I've gotta give it up. > > Now gcc is a different matter, because there are some libraries > (libstdc++, libgcj, ...) that are built and installed with gcc, so you > could argue that you want to keep multiple versions of that around to > avoid breaking dependancies. Since libstdc++ is used by a great many > programs, removing it before rebuilding all dependancies with > revdep-rebuild could be dangerous. > > So my advice is, to be safe, update make.conf and/or package.use to > remove the multislot flag from binutils but keep it for gcc. That sounds fair. > > Now, with that said, I don't even think removing multislot from gcc > would be dangerous, because every program that links against libstdc++ > should be linked against either "libstdc++.so" or possiblity > "libstdc++.so.6", not a minor version. So as long as /etc/ld.so.conf > and /etc/ld.cache are kept up-to-date (as portage does), and gcc doesn't > move to libstdc++.so.7, there is no reason that a gcc update should > break anything. Well, since I'm in the process of updating my toolchain and world to make sure that everything is compiled against the same version of GCC (3.4.4), I suppose I don't really need to have multislot for that either. Sigh. I feel like such a yutz... > > For the record, I don't have either multislot or multitarget, but then > again, I also run ~x86, Well, I don't (yet)... this install is new enough that I really want to keep track of what's stable and what's testing (which having to use /etc/portage/package.* enables me to do). But the system is starting to get a bit *too* mixed, and it's about reached the point where it's a diminishing return not to just set ACCEPT_KEYWORDS="~86" in /etc/make.conf.... which I will probably do after I've finished making sure that the system is all on the same page, as it were. > > >>1) trim out a bunch of binutils slots that I may or may not need (and >>therefore whose loss may break unknown applications), so that glsa-check >> >> > > > The only shared libraries that binutils includes are libbfd and > libopcodes, and the only thing I could find on my system that linked > against them outside of binutils was oprofile. Since oprofile isn't > exactly a critical program, revdep-rebuild would easily fix this. I > think the worst case is that you would not be able to compile anything, > and would need to run binutils-config to select the correct version. Well, I don't even have oprofile installed, nor do I have most of the other programs: Programs That Depend On binutils app-crypt/johntheripper app-misc/git dev-embedded/tigcc dev-lang/swi-prolog-lite dev-libs/elfutils dev-lisp/plt dev-util/alleyoop dev-util/debootstrap dev-util/memprof dev-util/oprofile net-misc/quagga sci-chemistry/gromacs sci-electronics/balsa sci-electronics/lard sys-apps/lshw sys-apps/mindi sys-apps/mondo-rescue sys-apps/paxctl sys-apps/tcng sys-devel/gcc sys-devel/prelink sys-kernel/ksymoops All I've got is gcc, I haven't even gotten around to installing prelink yet. And I can't imagine that any of these programs (gcc, prelink, and elfutils, which prelink requires), would need some old version of binutils hanging around, especially since I would be keeping these reverse dependencies up-to-date. So you're probably right; I can most likely remove multislot from both binutils and gcc (since I only mean to have one version of GCC anyway), recompile everything *yet again* (just to be safe; this system is starting to have a rather filthy backend, and I will not have it), and I think it should be OK. Something for the weekend.... a month from now (as you may have noticed, I've got a lot of other cleanup work to do-- not to mention regular computer projects-- before I can feel comfortable rebuilding everything). Thanks a lot for the info. Holly > -Richard > -- gentoo-user@gentoo.org mailing list