[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 5.8.0 -> 5.8.1 breakage on Debian: HTML::Parser failure



According to Soren A:
> So {ragged nervous intake of breath}, can anyone decribe how the
> project of trying to determine what causes this binary incompatibility
> should be undertaken?

There are lots of ways to attack it.

My first thought is that there's been some accidental change in the
Perl config between the 5.8.0 and 5.8.1 builds.  The file you're
interested in comparing is /usr/lib/perl/5.8.[01]/Config.pm.  (Getting
the source, building the package, and looking at the leftover
'config.sh' is another way to check for differences, but it's possible
that the 5.8.0 you re-create may differ from the one bod made, so I
don't recommend it at first.)  Given the config changes, you can grep
the Perl docs and, sometimes, the source to find the meanings of the
config variables that are different.

Another approach is to check whether the intervening changes in gcc
are at fault.  This seems less likely to me, as 5.8.0 binary builds
have been created over time, presumably using evolving gcc versions,
and nobody complained about bincompat problems.

It's also possible that the upstream Perl source has a (latent?)
binary incompatibility that no one else has noticed, and that the
Debian configuration tickles.

Detection of these latter cases could involve installing a broken
installation on purpose (e.g. 5.8.1 and old libhtml-parser-perl) and
using gdb and other tools to first characterize, then understand, then
backtrack to the cause of failure.

Occasionally you may find it helpful to use debugperl ("perl-debug")
which has some -D runtime options that may prove helpful in tracing
the execution of Perl code.
-- 
Chip Salzenberg               - a.k.a. -               <chip@pobox.com>
"I wanted to play hopscotch with the impenetrable mystery of existence,
    but he stepped in a wormhole and had to go in early."  // MST3K



Reply to: