ebuild incorrectly reports "ebuild: this ebuild generated output during the depend phase (bad)" anytine an IOError exception leaks out of portage.doebuild. There are probably several places where IOErrors are generated and not caught in doebuild, so to assume it is from output being generated is incorrect. For example, if no COUNTER file exists, portage.py line 3665 raises an IOError. There should probably be a custom exception thrown when output is detected during depend, and IOErrors should be allowed to propogate up so that the user at least gets a useful (if cryptic) error message.
Not enough information on the COUNTER exception and lines do not match. Code has changed in recent portages. Custom exceptions are in another bug and tracebacks are _FAR_ more useful than potentially cryptic messages.
The COUNTER problem is just an example. The line number given was for portage-2.0.45-r5, which is fairly "recent". If your version of portage has different line numbers, you should be able to find the line I'm referring to using this command: grep -n inforoot.*COUNTER /usr/lib/python2.2/site-packages/portage.py ...but again, this is only and example of the problem. The actual problem (perhaps I didn't explain clearly enough) is that /usr/sbin/ebuild catches an IOError exception and incorrectly "translates" it into a "this ebuild generated output during the depend phase (bad)" error. You can find this line in /usr/sbin/ebuild using this command: grep -n "generated output" /usr/sbin/ebuild In my copy of portage, I have commented out the IOError exception handler in /usr/sbin/ebuild in order to be able to see the real errors that are generated by the doportage function. This may or may not be the solution that we want to release for portage.
Is this still a problem in some way? There have been updates to the counter code in .47_pre1 Can you explain exactly why you have no counter?
probably fixed.