[csw-maintainers] mgar experts: help me out with mgar-Perl

Claudio claudio at opencsw.org
Wed Dec 5 22:37:19 CET 2012


Hi,

[ Warning: long mail ]

As some of you may know I am looking on how to get an up-to-date Perl
(5.16.1/2) on OpenCSW. There were some bugs on Solaris that were fixed
along the way by the Perl core hackers with our aid (mainly supplying
failing cases). Sorry for my intermittent presence, but I have been very
busy lately.

Now, we have a perfectly compiling, unit-tested and working Perl on
Solaris (including 64-bit builds, sparc, d-trace and threaded builds).
The patch to fix one failing test didn't make it to the latest release
(5.16.2), but we do have the patch on the farm as provided by p5p and
it's in blead. So far so good... on *non-mgar* builds on the farm.

So while we know that we can easily build Perl on the farm by hand,
there were some problems when integrating into mgar. Luckily, Peter's
work on the previous mgar Makefile is solid, so besides some small
adaptations there was not much work there to get Perl compiled.

Perl has thousands of tests to make sure the latest release don't make
stuff. When running the test suit on the mgar-build, we ended with 4
failing tests (so we passed 99.9-something%). The first one, as pointed
out above, was a Solaris-specific bug in the test itself.

The next two failing tests were a false positive caused by an
incompatibility on how mgar works and assumptions by the core Perl
developers. In short, when an '.git' directory is found in the source,
the testing suit assumes you're upstream running a dev-release and
additional tests are performed for releases, like author information and
the like. And because mgar create a '.git' directory in the source
directory we have a conflict. The workaround for now is a move/rename of
the directory while testing and restore the situation afterwards (mv &&
test && mv).

The last failing test also looks like a mgar problem to me, but we need
to be careful because it affects the Perl debugger. I strongly suspect,
that's it's related to the mgar environment at test time (but it could
be earlier).

See the mentioning of /opt/csw/lib/perl/csw/Term/ReadLine/Gnu.pm in the
failing test below. The line number resulting in the crash is the line
number of the *installed* 5.10 perl on the system and not the new 5.16.1
lib with a very different layout. So the test is definitely mixing old
and new when testing. Also, when doing the test differently (second test
link) we get the explicit error of the mixing of version. Furthermore,
comparing the compile information on the successful non-mgar build and
the successful-with-failing-test mgar-build I don't see any relevant
difference. Maybe you guys and gals can recognise something and have
some pointers. if we find out at what stage the mixing happens, we'll
have an up-to-date perl.

Here is the verbose output of the failing test of perldb.pl:
http://buildfarm.opencsw.org/~claudio/failing-test-perldb
http://buildfarm.opencsw.org/~claudio/perl-test-mix

Here is the compile information of the non-mgar build:
http://buildfarm.opencsw.org/~claudio/perl-V-nomgar

Here is the compile information of the mgar build:
http://buildfarm.opencsw.org/~claudio/perl-V-mgar


Claudio






More information about the maintainers mailing list