Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

undefined symbol: libssh2_scp_recv2

Ask for help with issues regarding the Installations of the Debian O/S.
Post Reply
Message
Author
grooveman
Posts: 90
Joined: 2009-07-24 23:13

undefined symbol: libssh2_scp_recv2

#1 Post by grooveman »

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.

User avatar
dilberts_left_nut
Administrator
Administrator
Posts: 5346
Joined: 2009-10-05 07:54
Location: enzed
Has thanked: 12 times
Been thanked: 66 times

Re: undefined symbol: libssh2_scp_recv2

#2 Post by dilberts_left_nut »

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...

grooveman
Posts: 90
Joined: 2009-07-24 23:13

Re: undefined symbol: libssh2_scp_recv2

#3 Post by grooveman »

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

User avatar
dilberts_left_nut
Administrator
Administrator
Posts: 5346
Joined: 2009-10-05 07:54
Location: enzed
Has thanked: 12 times
Been thanked: 66 times

Re: undefined symbol: libssh2_scp_recv2

#4 Post by dilberts_left_nut »

What does 'aptitude -s full-upgrade' show?
AdrianTM wrote:There's no hacker in my grandma...

grooveman
Posts: 90
Joined: 2009-07-24 23:13

Re: undefined symbol: libssh2_scp_recv2

#5 Post by grooveman »

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

Post Reply