On 17/03/2015 22:20, Dale wrote: > Alan McKinnon wrote: >> I've gotten to the point where I can make sense of portage output (it >> took a while!) but I have no idea how to explain how I do it :-) >> Portage makes a very fundamental blunder - it exposes the underlying >> implementation in the output. The odds are very slim the average user >> will ever make reasonable sense of it. > > You prolly got good at it because of so many people on here asking what > those crpytic messages are saying. Very few people can figure out what > they are trying to say. Every once in a while, I get lucky and can > keyword a package or something and get past a blocker but sometimes, it > may as well spit out Greek characters.
Well.... it's because I understand data structures as used in programming. Things like linked lists and assoc-arrays/dictionaries/hashmaps. I'v also had to support enough programmers over the years and get their stuff to work so I know how their minds work. It's like anything else, if you do it in your line of work, you get to understand it after a while :-) > > What gets me on this one, it really didn't give a clue what the real > problem is. If it did, I missed it. To help folks out, I'll walk through the thought process: The give-away was that util-linux needed to be downgraded, this is very unusual. I figured it was so unusual that finding out why would show me your real problem. And it wasn't a case of the version you have has been removed from the tree. I knew that the only thing that can trigger a downgrade is a DEPENDS that requires some version or lower, and that must start with a "<" or "<=". So I searched your mail looking for "<" and there was only one :-) This one: <sys-apps/util-linux-2.25[static-libs] required by (sys-fs/lvm2-2.02.109:0/0::gentoo, installed) That's the only line in the entire output that can downgrade util-linux. I looked in the lvm2 ebuild and there's only one DEPEND on <sys-apps/util-linux-2.25 and it is only used when USE=static After that the rest was easy > I just wonder, is there some way they can make emerge spit out something > that makes sense or is that something that can not be done? I'm sure there is a way to do it. Some portage output is very useful, like conflicting USE. Portage tells you what you can enable or disable to proceed. And the colorized arrow-heads one line below is really helpful in following version numbers. But proper output messages isn't just a case of translate gobbledy-gook into English. One has to understand what the conditions mean, parse the data portage has inside, and then figure out something meaningful. That is not easy, and probably requires custom code for each different kind of error. Programmers hate writing error code that has to do that, which is probably why no-one has ever done it through portage's entire life so far.... -- Alan McKinnon alan.mckin...@gmail.com