Hi Roderich,

On Wed, 2024-03-06 at 19:20 +0100, Roderich Schupp wrote:
> Hi,
> 
> > Parser.c: loadable library and perl binaries are mismatched (got first 
> > handshake key 0xb600080, needed 0xb700080)
> > 
> 
> 
> The upper 16 bits in these keys (i.e. 0xb60 vs 0xb70) is 
> sizeof(PerlInterpreter), the one that some XS module saw
> when it was built vs the size your current perl executable was built with. 
> From the location of the error message
> it looks as the build process ("perl Build") has just created the "glue" 
> shared library (blib/arch/auto/XS/Parse/
> Keyword/Keyword.so), next it is going to generate documentation (man pages). 
> Unless there's an error warning,
> this doesn't produce any output. I ran "perl Build" under strace, this shows 
> that doc generation loads Pod::Html
> (probably to generate HTML pages as well, though none were requested) and 
> finally this loads HTML::Parser. The
> latter is an XS module 
> (/usr/lib/x86_64-linux-gnu/perl5/5.38/auto/HTML/Parser/Parser.so) and seems 
> to emit the
> above message.
> 
> So the reason is that your HTML/Parser/Parser.so (maybe a version not in the 
> canonical path?)  is built with a
> different struct PerlInterpreter. The difference in sizeof(PerlInterpreter) 
> can probably explained with the
> time64 transition as PerlInterpreter contains a struct stat.

Thanks a lot for the detailed analysis. In fact, libhtml-parser-perl has not 
been rebuilt against the time64_t
Perl package yet [1] which would align with your explanation. I'll try to 
rebuild the package locally and if
it fixes the problem, I'll binNMU it for powerpc.

Your explanation will enable me to debug future occurrences as I now understand 
the underlying problem.

Thanks,
Adrian

> [1] https://buildd.debian.org/status/package.php?p=libhtml-parser-perl

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Reply via email to