Gentoo Archives: gentoo-dev

From: Michael Cummings <mcummings@g.o>
To: gentoo-user@g.o, gentoo-dev@g.o
Cc: gentoo-core@g.o
Subject: [gentoo-dev] The recent problems with Perl - a brief apology/explanation
Date: Fri, 20 Sep 2002 17:04:06
Message-Id: 20020920180447.70c9fbef.mcummings@gentoo.org
1 Hello all,
2
3 Some of you have talked to me, most don't care (that's fine), but I'm the "maintainer" for all things perl in Gentoo right now. If you've had any problems with perl recently, or more specifically packages that depend on perl, and you are using perl 5.6.1, please read on. This does not affect perl 5.8.0 users.
4 Recently, thanks to some bug reports and some tracking, my vocal public and I isolated a bug in the MakeMaker module that comes as the default with perl 5.6.1. This particular core perl module handles the building of make files from Makefile.PL's, and the default version was buggy to say the least. It *should* have accepted paramaters to the perl Makefile.PL line that would have negated the need for most of the hodgepodge work that our ebuilds use to sed out some lines and fix other lines so that the ebuild would make within the sandbox and install correctly.
5 I spent about a month after I had a fix in place locally (forcing the new makemaker to be installed as a dependancy for perl 5.6.1 user's in the eclass) going through ebuild's that USE'd perl and testing what I could, fixing what I needed to, so that when the time was right I could mass commit (with a few blunders, I confess) and keep the number of error reports down to a minimum. (I had help here, though I don't know that he wants his name broadcast across gentoo user land)
6 For the most part, this went as planned, but there were a few mistakes still lingering that I missed and testing by other user's simply didn't reveal (if you test with a hundred users, invariably its the 101st user that finds a problem). You all have been great about submitting bug reports, and I try and fix them within a day of their being posted (frozen bubble users will rightly contest that). Usually the fix has simply involved adding a PREFIX to the perl portion of the ebuild (this is principally regarding non perl-module ebuilds).
7 If you are experiencing difficulty with recently emerged packages that use perl, please check the following: Is there a /usr/lib/site_perl directory? If so, that is a sure sign that a module has been mis-installed by portage and by far the most common bug report these days (for me, that is). To see if you can correct this yourself, try the following:
8
9 * First, make sure you are up to date. Your copy of the eclasses are updated with every rsync, so to be safe emerge rsync.
10 * If things are still buggy, check which version of MakeMaker you have with emerge search ExtUtils-MakeMaker - it should come back with -r1 of MakeMaker, if not, upgrade and repeat the emerge of your troublesome package. Even if you are on -r1, it doesn't hurt to re-emerge it again just to be safe (but do *NOT* unmerge it - it will remove those core pieces of perl that allow perl to make Makefile's - if you accidently unmerged it, let me know and I can get you a generic copy of the default MakeMaker files to replace your missing ones with. Not a great solution, but it's better than re-installing perl again). Why do I recommend reemerging it if you are already on -r1 and having troubles? Due to overlaps in commit times, it is always possible that when you grabbed your copy of the portage tree and how my commits fit into the mirroring, half of the fix was in place and not the other half, in which case portage could legitimately believe you have the most recent copy when in fa!
11 ct it is wrong (not a portage problem, a Michael didn't type fast enough problem).
12 * If things are *STILL* not right, submit a bug to me asap on bugs.gentoo.org - there's a problem with the ebuild you are trying and it really needs to be addressed. There's still a chance it isn't the build but perl, but at least at this point we've eliminated most of my first recommendations.
13
14
15 * One final scenario/note. If you reinstalled perl recently because you thought it was your copy that had messed up, portage will believe you are on the latest MakeMaker even though you are back on the default MakeMaker that came with perl. Re-emerge MakeMaker to avoid going through the above (it's a really small set of files, so even on a dial up it shouldn't take a minute or so). This is something I hope to address soon in the perl 5.6.1 ebuild as an in place fix, but it isn't there yet.
16
17
18 Thank you all for your patience,
19
20 Michael
21 mcummings on #gentoo-dev@OPN