undefined symbol: libssh2_scp_recv2

Help with issues regarding installation of Debian

undefined symbol: libssh2_scp_recv2

Postby grooveman » 2018-04-01 23:08

Hi,

I have updated from jessie to stretch today, and for the most part, it went pretty well. Since the upgrade, however, the one snag I was not able to fix was that of curl.

When I run curl -V, I get:
Code: Select all
curl: symbol lookup error: /usr/lib/x86_64-linux-gnu/libcurl.so.4: undefined symbol: libssh2_scp_recv2


When I run ldd against curl, I get:
Code: Select all
dd /usr/lib/x8        linux-vdso.so.1 (0x00007ffcd0ffb000)
        libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fc8666cf000)
        libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fc8664ad000)
        librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fc866290000)
        libssh2.so.1 => /usr/local/lib/libssh2.so.1 (0x00007fc86606a000)
        libpsl.so.5 => /usr/lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fc865e5c000)
        libssl.so.1.0.2 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2 (0x00007fc865bf3000)
        libcrypto.so.1.0.2 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2 (0x00007fc86578f000)
        libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fc865544000)
        libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fc86526a000)
        libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fc865037000)
        libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fc864e33000)
        liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007fc864c24000)
        libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007fc8649d3000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc8647b9000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc86459c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc8641fd000)
        libunistring.so.0 => /usr/lib/x86_64-linux-gnu/libunistring.so.0 (0x00007fc863ee6000)
        libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fc863b4d000)
        libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007fc863918000)
        libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007fc8636e1000)
        libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fc86345e000)
        libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x00007fc863207000)
        libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007fc862e66000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc862c62000)
        libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fc862a56000)
        libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fc862852000)
        libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fc86263b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc866b75000)
        libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fc862420000)
        libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fc8621bb000)
        libidn.so.11 => /lib/x86_64-linux-gnu/libidn.so.11 (0x00007fc861f87000)
        libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fc861d74000)
        libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fc861b6b000)6_64-linux-gnu/libcurl.so.4


It seems like curl is compiled against something that is not on the system... something that supplies libssh2_scp_recv2... but I cannot find what that might be. I've tried installing pretty much everything that has "ssh2" in the name to see if it is in there... but no dice. I've googled this for a couple hours, but didn't find anything helpful. One person said that libssh2 no long supplies symbols... And one person "solved" it by downloading the tarball and recompiling an older version of libssh2. But I'm not a fan of compiling packages outside of the package manager. My two jobs keep me spread pretty thin, and compiling outside the package manager gets ugly after a while.

I don't see anyone else having this problem, so I'm thinking I missed something silly...

Any ideas?

I appreciate any help.

Thanks.
grooveman
 
Posts: 86
Joined: 2009-07-24 23:13

Re: undefined symbol: libssh2_scp_recv2

Postby dilberts_left_nut » 2018-04-02 08:23

grooveman wrote:I have updated from jessie to stretch today, and for the most part, it went pretty well.

Maybe not so well.
Check to see everything got upgraded - seems you might have a version mismatch between curl and the required libraries.
AdrianTM wrote:There's no hacker in my grandma...
User avatar
dilberts_left_nut
 
Posts: 4842
Joined: 2009-10-05 07:54
Location: enzed

Re: undefined symbol: libssh2_scp_recv2

Postby grooveman » 2018-04-02 23:54

dilberts_left_nut wrote:Maybe not so well.
Check to see everything got upgraded - seems you might have a version mismatch between curl and the required libraries.


Yeah... maybe not so well after all... Weird thing is, at boot, all my startup scripts say "OK"... and many of them are definitely not OK.

I've been banging away at this... and I'm finding some evidence that there are packages still installed that shouldn't be there... which baffles me. I followed the guide, and they give a couple measures to make sure there are no paritally installed packages and whatnot... Jessie was fully up to date and clean AFAIK... but I've seen at least a dozen packages that shouldn't be on the system.

Tomorrow, I will give remediation another shot. If that doesn't work... a restore and retry upgrading... if that fails... I'll just have to reinstall everything... I sure hope it doesn't come that... but, I'll get it one way or another. If I learn something fascinating during this procedure, I'll be sure to post it.

Thanks.

G
grooveman
 
Posts: 86
Joined: 2009-07-24 23:13

Re: undefined symbol: libssh2_scp_recv2

Postby dilberts_left_nut » 2018-04-03 03:00

What does 'aptitude -s full-upgrade' show?
AdrianTM wrote:There's no hacker in my grandma...
User avatar
dilberts_left_nut
 
Posts: 4842
Joined: 2009-10-05 07:54
Location: enzed

Re: undefined symbol: libssh2_scp_recv2

Postby grooveman » 2018-04-03 15:25

dilberts_left_nut wrote:What does 'aptitude -s full-upgrade' show?

It shows that everything is up to date.

What I wound up doing is doing a 'dpkg -l |awk '{print $2}' and dumping that to a file. I then did a little ad-hoc script to step through each with an 'aptitude -s -y reinstall', and dumped that output to a file.

I then grepped and seded out all the packages that reported that they were no longer available through my apt sources. There were probably 2 dozen. I then did another ad-hoc script to purge those packages. I reinstalled all my packages, and purged my curl and its dependencies and reinstalled those.

Long story short, I got closer... but realized there was still a long way to go, and when this is all said and done, I won't have a system that I can entirely trust to be consistent any more... so I wound up restoring today. I was hoping to learn something revelatory from this excercise, but I really only learned the obvious lesson, which is to go slower with a system this complex. I've been updating this system since Woody, so it is just time to build another in parallel and migrate. I let the paucity of my time pressure me into trying to do this too quickly. There is still an opportunity to learn something by going the other route, so all is not lost. No data lost... just time.

I appreciate your input.

G
grooveman
 
Posts: 86
Joined: 2009-07-24 23:13


Return to Installation

Who is online

Users browsing this forum: kmathern and 2 guests

fashionable