Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)

by rgren925 (Beadle)
on Jul 30, 2020 at 01:05 UTC ( [id://11120037]=note: print w/replies, xml ) Need Help??


in reply to Re: XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)
in thread XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)

LD_LIBRARY_PATH was set to /usr/lib. I set the following:

PERL5LIB=/home/rg8239/perl/lib/site_perl/5.30.3:/home/rg8239/perl/lib/ +site_perl/5.30.3/x86_64-linux:/home/rg8239/perl/lib/5.30.3:/home/rg82 +39/perl/lib/5.30.3/x86_64-linux LD_LIBRARY_PATH=/home/rg8239/perl/lib/site_perl/5.30.3:/home/rg8239/pe +rl/lib/site_perl/5.30.3/x86_64-linux:/home/rg8239/perl/lib/5.30.3:/ho +me/rg8239/perl/lib/5.30.3/x86_64-linux

Then I reinstalled perl 5.30.3 and tried to use cpan to install List::MoreUtils. No change. Still get the mismatch.

  • Comment on Re^2: XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)
  • Download Code

Replies are listed 'Best First'.
Re^3: XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)
by bliako (Monsignor) on Jul 30, 2020 at 09:37 UTC

    I think you are convoluting the problem and your system even more. I would go the opposite direction and blank out both env vars you set.

    If you have not installed 5.30 as root just erase it from your home dir including all additional packages it installed and make sure about that. Then use perlbrew to re-install perl 5.30. Then ask perlbrew to use 5.30 as the default perl for your account. Then install additional packages. Perhaps starting with cpanm. And report back if there is a problem. perlbrew will make sure that one perl's libraries and packages do not pollute another's.

    If you have installed 5.30 as root, your problems are only surfacing now... I hope you are able to remove it and all its packages and restore the system perl and its packages.

    If you want to investigate further before a re-install then use strace as Fletch suggested to see which libraries are causing the bad handshake.

    you did neither of these

    btw, it seems you posted already this to stackoverflow with very poor answers. None-the-less perhaps you could edit this post to notify us of it.

      Yes. I posted this on stackoverflow several weeks ago and didn't get anywhere. I try to reserve only the really hard issues for perlmonks. It appears that this turned out to be one of those

      So, I deleted perl-5.30.3 and removed all associated environment variables. I installed perlbrew (which I had never used before--it's very cool). I used perlbrew to install perl-5.32.0. I then installed cpanm and tried to install List::MoreUtils. It failed.

      Here's the output from command strace -e open,stat,lstat cpanm List::MoreUtils

      (edited)...FYI, I appear to have run into a length limit on the output below. Not sure how to post the rest of the output

        (edited)...FYI, I appear to have run into a length limit on the output below. Not sure how to post the rest of the output

        I'm not sure, but you might be able to put it all on your scratchpad.

        Could you provide us with a copy'n'paste of the troublesome XS.c that's being generated with this 5.32.0 build ?
        It probably won't help ... but, OTOH, it might contain something useful.
        I'd like to compare it with the XS.c that my build of 5.32.0 generates. (It's important that you post the XS.c from the perl-5.32.0 build.)
        I assume List::MoreUtils::XS fails on the perl-5.32.0 build in the same way as with perl-5.30.3.

        Cheers,
        Rob

        Sorry if that sounded harsh (re: cross-posting), it's just polite to let others know.

        I think you can safely ignore those ENOENTs because it's Perl trying various locations until it hits the right one - see the eventual open ... O_RDONLY. Memo-to-self: oh poor harddisk. So, filter those out please. For example at the terminal type: whatever-strace-command-you-ran | grep -v ENOENT and feel free to filter out other irrelevant blabber. Remember you are looking for a successful library open and then a failure because of the handshake. That can be quite a few lines apart.

        Here is a successful module and library open:

        stat("/home/rg8239/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0/x86_64- +linux/Time/HiRes.pm", {st_mode=S_IFREG|0444, st_size=25689, ...}) = 0 open("/home/rg8239/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0/x86_64- +linux/Time/HiRes.pm", O_RDONLY) = 5 stat("/home/rg8239/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0/x86_64- +linux/auto/Time/HiRes/HiRes.so", {st_mode=S_IFREG|0555, st_size=28181 +, ...}) = 0

        From the output you posted my filter produced this:

        stat("/bin/tar", {st_mode=S_IFREG|0755, st_size=178728, ...}) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- stat("/usr/bin/unzip", {st_mode=S_IFREG|0755, st_size=115232, ...}) = +0 --- SIGCHLD (Child exited) @ 0 (0) --- stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- --> Working on List::MoreUtils Fetching http://www.cpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-0. +428.tar.gz ... --- SIGCHLD (Child exited) @ 0 (0) --- stat("List-MoreUtils-0.428.tar.gz", {st_mode=S_IFREG|0644, st_size=146 +030, ...}) = 0 OK --- SIGCHLD (Child exited) @ 0 (0) --- --- SIGCHLD (Child exited) @ 0 (0) ---

        Are tar and unzip working? Why those SIGCHLD? I can't explain those, perhaps someone else can.

        Please remember that it's you doing the debugging. So, filter out irrelevant ENONENTs and perhaps other noise, zoom in to the failed handshake and make sure that in your log the failed handshake library is shown (in an open() statement hopefully)

Re^3: XS.c: loadable library and perl binaries are mismatched (got handshake key 0xc100000, needed 0xc180000)
by ikegami (Patriarch) on Aug 03, 2020 at 22:33 UTC

    None of those paths should be in PERL5LIB.

    None of those paths should be in LD_LIBRARY_PATH.

    Unset both.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11120037]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2024-04-24 22:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found