LibXML.c: loadable library and perl binaries are mismatched
RS
richard22j at zoho.com
Mon Aug 15 07:28:13 PDT 2022
I have found this at
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=124201
"(got handshake key 0x7bc0000, needed 0x7cc0000)" means in your XS
module, the definition of the perl's master interpreter struct is
smaller than the interp engine expects (XS module says its 0x7bc bytes
long, interp core says its 0x7cc bytes long). The layouts of the structs
are not compatible. They must be the same otherwise memory corruption
occurs.
This is probably not a bug in Perl but in your non p5p-code. The error
message means that a .so or .o, is not being executed by the same perl
(same config.h, same -Ds on cmd line, same Config.pm, same perl 5.X._,
where X must match) it was compiled against. If it worked in the past,
you were lucky it didn't SEGV. Unlike with pure Perl modules, you can
not copy paste XS module .so'es between different perl builds instead of
rebuilding them from source (with the 1 small exception of perl
maintenance releases, as long as they have an identical input to
Configure/config.h/Config.pm).
That seems to explain what the error is. How do I fix it?
On 14/08/2022 16:31, RS wrote:
....
>
> I have just upgraded from Kubuntu 18.04.6 LTS to Kubuntu 20.04.4 LTS.
> Now whenever I try to run get_iplayer, with or without arguments, it
> immediately displays a message
>
> LibXML.c: loadable library and perl binaries are mismatched (got
> handshake key 0xde00080, needed 0xcd00080)
>
> It does not even display the version number.
>
More information about the get_iplayer
mailing list