The perl-module eclass has undergone some changes, it seems like the disabled make test broke something. I think that make install isn't finished, when the actual merging starts. Reproducible: Always Steps to Reproduce: 1. MAKEFLAGS="-j6" emerge HTML-Parser 2. qpkg -l HTML-Parser | grep Parser.so Actual Results: daemlich HTML-Parser # qpkg -l HTML-Parser | grep Parser.so daemlich HTML-Parser # Expected Results: daemlich HTML-Parser # qpkg -l HTML-Parser | grep Parser.so /usr/lib/perl5/vendor_perl/5.8.5/i686-linux/auto/HTML/Parser/Parser.so daemlich HTML-Parser # I'm not really sure HOW this is triggered, but when I set SRC_TEST="do", everything is fine. Without it, some packages miss files. HTML::Parser misses Parser.so, libwww-perl misses LWP/Simple.pm.
Can't reproduce here with FEATURES=test. Please can you paste the output from an emerge session where it works and where it doesn't (command line, emerge output, the works) ? Thanks.
Created attachment 57677 [details] emerge HTML-Parser (builds, but Parser.so is missing) This is a log of a plain emerge HTML-Parser, with everything set to default.
Created attachment 57678 [details] MAKEFLAGS="-j1" emerge HTML-Parser With MAKEFLAGS="-j1" the build works.
Created attachment 57679 [details] emerge HTML-Parser (SRC_TEST set to "do" in perl-module.eclass) perl-module.eclass does not seem to honor FEATURES="test", so I've modified line 65 to read SRC_TEST="do". This one works perfect, Parser.so is build and installed correctly. Btw, everything is fine with revision 1.67 from CVS.
the perl module eclass does honor features for maketest - if the source ebuild sets src_test=do - this is done on purpose. Testing is good, but some modules use tests that are either A)Badly written B) make unsafe network calls or C) require an X display. Hence the reason that tests only happen if the ebuild has src_test set to do - otherwise it doesn't matter if you have the feature set or not. this isn't a bug. its on purpose.
we need more information to work with. for starters, emerge info - your 2 outputs don't make sense. in one the man pages are generated, in the other they're not. your changing more than one flag between these emerges. at the very least, we need emerge info and perl -V output.
Created attachment 57685 [details] perl -V output
Created attachment 57686 [details] emerge info output
I haven't changed multiple flags between those builds. Just checked it again. Also, as mentioned before, it works with rev 1.67 of perl-module.eclass. I could provide (non-root) shell access for this machine, if it helps.
Is distcc active during this compile? I'm wondering if that could explain the utter inconcistancy between your three emerge logs (they don't line up at all as far as the order of things). Also, has any of this changed since you started? I don't see any doc flags, but you definitely didn't generate the man pages on at least one of those passes. If distcc is active, please disable it, unchange the eclass, and try again. (no distcc over here to confirm that that would be interfering). Either way, the makeopts are never invoked for the building of this one .so file, and your -O3 is being honored in each of your attached logs.
The only change between those two eclass versions is whether the tests are forced - and tests have no bearing on the .so file being generated (like beu, i can confirm that and can't dup your problem at all). I'm still leaning towards distcc...and yes, that's a somewhat desperate grasp, but your logs don't make sense even in themselves (one looks like it restarts the emerge half way through)
Created attachment 57687 [details] emerge HTML-Parser (with SRC_TEST="skip") There may have been some remainings in /var/tmp/portage from an earlier ebuild compile. So here is it again. This log is created with everything set to default.
Created attachment 57688 [details] emerge HTML-Parser (with SRC_TEST="do") Again, this is emerge HTML-Parser with SRC_TEST beeing set to "do".
I don't use distcc on this machine, also I've disabled ccache for the last two logfiles.
FYI: This is NOT related to HTML-Parser the same thing happens with libwww-perl, when is set higher than MAKEFLAGS="-j1". For libwww-perl it misses some manpages in this case. MAKEFLAGS="-j1" also solves the problem with HTML-Parser. Maybe the problem is related to MAKEFLAGS only. It's possible that the extra make test when SRC_TEST is "do", "fixes" the broken first build. I've also tried it on another system, and there it works (With MAKEFLAGS != "-j1"). Both use the same profile and have the same versions of perl/make/makemaker installed. I see no significant difference between the systems. So this is a mystery for me too *SIGH*.
How many physical processors does the box that you can reproduce this on have?
Single CPU, no SMP, no HT.
I've been able to reproduce the original issue (.so not being installed with MAKEOPTS=-j6 - which is what I assumed you meant when you typed MAKEFLAGS ?) a few times out of ~10 re-emerges, however -j0-5 worked flawlessly (with and without SRC_TEST=do) - all on single processor boxes. Anything more than -j[1 + number of processors] is not recommended, and if things break, you get to keep the pieces. :) If you can come up for a reasonable fix for this that doesn't have any adverse effects for those where the above scenarios are working (plus what Mike said above), then I doubt there will be any problems getting that in. Also, the logs of your emerge sessions do not add up to your FEATURES - missing man pages for example. This could be because your system is totally horked, or because you've recently been cursed - we don't know. ;) If you can provide anymore information as to why this is happening, that might help. Resolving CANTFIX. Please re-open with as-verbose-as-possible information and clear instructions on how to reproduce if you get any further and are able to reproduce this on more than one system.