rkitover / net-ssh2

Net::SSH2 perl module using libssh2
http://search.cpan.org/perldoc?Net::SSH2
21 stars 21 forks source link

undefined symbol: libssh2_userauth_publickey_frommemory at /usr/lib64/perl5/DynaLoader.pm line 190 #55

Closed sezal closed 3 weeks ago

sezal commented 3 years ago

Test fails

Net-SSH2-0.72-MH3fHL]$ perl Makefile.PL

The libssh2 library is required by this module.  If you don't have it, you can
download it from http://www.libssh2.org; you may also need OpenSSL, which can
be obtained from http://www.openssl.org , or libgcrypt, which can be obtained
from http://www.gnupg.org .

Debian:   sudo aptitude install libssh2-1-dev
OpenSUSE: sudo zypper in libssh2-1 libssh2-devel

You can pass your libssh2 lib and include dirs (and extra link args) on the
command line. E.g.:

    perl Makefile.PL lib=$HOME/libssh2/lib inc=$HOME/libssh2/include \
        ldargs="-lz"

These can also be set through the LIBSSH2_LIB/LIBSSH2_INCLUDE/LIBSSH2_LDARGS
environment variables.

To build with libgcrypt instead of OpenSSL, use the crypto_backend
option when calling Makefile.PL, e.g.:

    perl Makefile.PL crypto_backend=gcrypt

Looking for libraries...
Analyzing file assertlibDXLSB9Ao
Library ssh2 found in standard place
Detected crypto backend: openssl
crypto backend set to openssl
Library z found in standard place
Library ssl found in standard place
Library crypto found in standard place
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Net::SSH2
Writing MYMETA.yml and MYMETA.json
[root@fe-sergiy Net-SSH2-0.72-MH3fHL]$ make
cp lib/Net/SSH2/File.pm blib/lib/Net/SSH2/File.pm
cp lib/Net/SSH2/KnownHosts.pm blib/lib/Net/SSH2/KnownHosts.pm
cp lib/Net/SSH2/Dir.pm blib/lib/Net/SSH2/Dir.pm
cp README.pod blib/lib/Net/README.pod
cp lib/Net/SSH2/SFTP.pm blib/lib/Net/SSH2/SFTP.pm
cp lib/Net/SSH2/Channel.pm blib/lib/Net/SSH2/Channel.pm
cp lib/Net/SSH2.pm blib/lib/Net/SSH2.pm
cp lib/Net/SSH2/PublicKey.pm blib/lib/Net/SSH2/PublicKey.pm
cp lib/Net/SSH2/Constants.pm blib/lib/Net/SSH2/Constants.pm
cp lib/Net/SSH2/Listener.pm blib/lib/Net/SSH2/Listener.pm
Running Mkbootstrap for SSH2 ()
chmod 644 "SSH2.bs"
"/usr/bin/perl" "-Iinc" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSH2.bs blib/arch/auto/Net/SSH2/SSH2.bs 644
"/usr/bin/perl" "-Iinc" "/usr/local/share/perl5/ExtUtils/xsubpp"  -typemap '/usr/share/perl5/ExtUtils/typemap' -typemap '/root/.cpan/build/Net-SSH2-0.72-MH3fHL/typemap'  SSH2.xs > SSH2.xsc
mv SSH2.xsc SSH2.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"0.72\" -DXS_VERSION=\"0.72\" -fPIC "-I/usr/lib64/perl5/CORE"   SSH2.c
SSH2.xs: In function ‘sv2iv_constant_or_croak’:
SSH2.xs:354:19: warning: unused variable ‘i’ [-Wunused-variable]
         int type, i;
                   ^
In file included from /usr/lib64/perl5/CORE/perl.h:5012:0,
                 from SSH2.xs:8:
SSH2.xs: In function ‘cb_kbdint_response_callback’:
/usr/lib64/perl5/CORE/pp.h:125:16: warning: value computed is not used [-Wunused-value]
 #define POPs  (*sp--)
                ^
SSH2.xs:526:13: note: in expansion of macro ‘POPs’
             POPs;
             ^
SSH2.xs: In function ‘cb_ignore_callback’:
SSH2.xs:575:14: warning: variable ‘ax’ set but not used [-Wunused-but-set-variable]
     dSP; I32 ax; int count;
              ^
SSH2.xs: In function ‘cb_debug_callback’:
SSH2.xs:591:14: warning: variable ‘ax’ set but not used [-Wunused-but-set-variable]
     dSP; I32 ax; int count;
              ^
SSH2.xs: In function ‘cb_disconnect_callback’:
SSH2.xs:609:14: warning: variable ‘ax’ set but not used [-Wunused-but-set-variable]
     dSP; I32 ax; int count;
              ^
SSH2.xs: In function ‘cb_x11_open_callback’:
SSH2.xs:648:14: warning: variable ‘ax’ set but not used [-Wunused-but-set-variable]
     dSP; I32 ax; int count;
              ^
In file included from SSH2.xs:9:0:
SSH2.c: In function ‘XS_Net__SSH2_CLONE’:
/usr/lib64/perl5/CORE/XSUB.h:164:20: warning: unused variable ‘items’ [-Wunused-variable]
 #define dITEMS I32 items = (I32)(SP - MARK)
                    ^
/usr/lib64/perl5/CORE/XSUB.h:172:16: note: in expansion of macro ‘dITEMS’
  dSP; dAXMARK; dITEMS
                ^
SSH2.c:1123:11: note: in expansion of macro ‘dXSARGS’
     dVAR; dXSARGS;
           ^
SSH2.c: In function ‘XS_Net__SSH2__new’:
SSH2.c:1167:6: warning: unused variable ‘proto’ [-Wunused-variable]
  SV* proto = ST(0)
      ^
SSH2.c: In function ‘XS_Net__SSH2_auth_password’:
SSH2.xs:1206:12: warning: unused variable ‘ok’ [-Wunused-variable]
     int i, ok;
            ^
SSH2.xs:1206:9: warning: unused variable ‘i’ [-Wunused-variable]
     int i, ok;
         ^
SSH2.c: In function ‘XS_Net__SSH2__poll’:
SSH2.c:2854:11: warning: unused variable ‘ss’ [-Wunused-variable]
  SSH2*    ss = INT2PTR(SSH2 *, unwrap(ST(0), "Net::SSH2", "net_ss__poll"))
           ^
SSH2.c: In function ‘XS_Net__SSH2__Channel__setenv’:
SSH2.xs:1652:12: warning: unused variable ‘success’ [-Wunused-variable]
     int i, success = 0;
            ^
SSH2.xs:1652:9: warning: unused variable ‘i’ [-Wunused-variable]
     int i, success = 0;
         ^
SSH2.xs: In function ‘XS_Net__SSH2__SFTP_open’:
SSH2.c:4090:33: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
      l_flags == 0 && posix == 0 && flags == posix /* 0-valued flag */) { \
                                 ^
SSH2.xs:2122:5: note: in expansion of macro ‘XLATFLAG’
     XLATFLAG(O_RDWR,   LIBSSH2_FXF_READ | LIBSSH2_FXF_WRITE);
     ^
SSH2.c:4090:33: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
      l_flags == 0 && posix == 0 && flags == posix /* 0-valued flag */) { \
                                 ^
SSH2.xs:2123:5: note: in expansion of macro ‘XLATFLAG’
     XLATFLAG(O_RDONLY, LIBSSH2_FXF_READ);
     ^
SSH2.c:4090:33: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
      l_flags == 0 && posix == 0 && flags == posix /* 0-valued flag */) { \
                                 ^
SSH2.xs:2124:5: note: in expansion of macro ‘XLATFLAG’
     XLATFLAG(O_WRONLY, LIBSSH2_FXF_WRITE);
     ^
SSH2.c:4090:33: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
      l_flags == 0 && posix == 0 && flags == posix /* 0-valued flag */) { \
                                 ^
SSH2.xs:2125:5: note: in expansion of macro ‘XLATFLAG’
     XLATFLAG(O_APPEND, LIBSSH2_FXF_APPEND);
     ^
SSH2.c:4090:33: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
      l_flags == 0 && posix == 0 && flags == posix /* 0-valued flag */) { \
                                 ^
SSH2.xs:2126:5: note: in expansion of macro ‘XLATFLAG’
     XLATFLAG(O_CREAT,  LIBSSH2_FXF_CREAT);
     ^
SSH2.c:4090:33: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
      l_flags == 0 && posix == 0 && flags == posix /* 0-valued flag */) { \
                                 ^
SSH2.xs:2127:5: note: in expansion of macro ‘XLATFLAG’
     XLATFLAG(O_TRUNC,  LIBSSH2_FXF_TRUNC);
     ^
SSH2.c:4090:33: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
      l_flags == 0 && posix == 0 && flags == posix /* 0-valued flag */) { \
                                 ^
SSH2.xs:2128:5: note: in expansion of macro ‘XLATFLAG’
     XLATFLAG(O_EXCL,   LIBSSH2_FXF_EXCL);
     ^
SSH2.c: In function ‘XS_Net__SSH2__KnownHosts_writeline’:
SSH2.xs:2682:12: warning: unused variable ‘buffer_len’ [-Wunused-variable]
     STRLEN buffer_len;
            ^
SSH2.c: At top level:
SSH2.xs:833:1: warning: ‘croak_last_error’ defined but not used [-Wunused-function]
 croak_last_error(SSH2 *ss, const char *class, const char *method) {
 ^
rm -f blib/arch/auto/Net/SSH2/SSH2.so
LD_RUN_PATH="/usr/lib64:/lib64" gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  SSH2.o  -o blib/arch/auto/Net/SSH2/SSH2.so  \
   -lssh2 -lz -lssl -lcrypto   \

chmod 755 blib/arch/auto/Net/SSH2/SSH2.so
Manifying 8 pod documents
[root@fe-sergiy Net-SSH2-0.72-MH3fHL]$ make test
"/usr/bin/perl" "-Iinc" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSH2.bs blib/arch/auto/Net/SSH2/SSH2.bs 644
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t
t/Net-SSH2.t .. 1/?
#   Failed test 'use Net::SSH2;'
#   at t/Net-SSH2.t line 47.
#     Tried to use 'Net::SSH2'.
#     Error:  Can't load '/root/.cpan/build/Net-SSH2-0.72-MH3fHL/blib/arch/auto/Net/SSH2/SSH2.so' for module Net::SSH2: /root/.cpan/build/Net-SSH2-0.72-MH3fHL/blib/arch/auto/Net/SSH2/SSH2.so: undefined symbol: libssh2_userauth_publickey_frommemory at /usr/lib64/perl5/DynaLoader.pm line 190.
#  at t/Net-SSH2.t line 47.
# Compilation failed in require at t/Net-SSH2.t line 47.
# BEGIN failed--compilation aborted at t/Net-SSH2.t line 47.
&Net::SSH2::constant not defined at t/Net-SSH2.t line 50.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 1.
t/Net-SSH2.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/1 subtests

Test Summary Report
-------------------
t/Net-SSH2.t (Wstat: 65280 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
Files=1, Tests=1,  0 wallclock secs ( 0.01 usr  0.00 sys +  0.08 cusr  0.01 csys =  0.10 CPU)
Result: FAIL
Failed 1/1 test programs. 1/1 subtests failed.
make: *** [test_dynamic] Error 255
$ nm -gD /usr/local/lib/libssh2.so.1.0.1 | grep libssh2_userauth_publickey_frommemory
000000000001fe30 T libssh2_userauth_publickey_frommemory

$ nm -gD /root/.cpan/build/Net-SSH2-0.72-MH3fHL/blib/arch/auto/Net/SSH2/SSH2.so | grep libssh2_userauth_publickey_frommemory
                 U libssh2_userauth_publickey_frommemory

Same with libssh2 1.9.0 and recently released 1.10.0

Building on Amazon Linux v1 (CentOS)

sezal commented 3 years ago

It's because there are two libssh2 installed. perl Makefile.PL says Library ssl found in standard place, but for some reason sets LD_RUN_PATH explicitly which forces gcc to link with system libs instead of more recent lib installed undef /usr/local/lib (according to ldconfig output bellow it has higher priority).

Default build runs:

LD_RUN_PATH="/usr/lib64:/lib64" gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  SSH2.o  -o blib/arch/auto/Net/SSH2/SSH2.so  \
   -lssh2 -lz -lssl -lcrypto   \

Without explicit LD_RUN_PATH it links correctly with /usr/local/lib/libssh2.so.1

Yes, explicitly specifying lib path fixes the problem, but it supposed to build properly by default (it was doing so ~3 years ago):

perl Makefile.PL lib=/usr/local/lib
$ ldconfig -v
ldconfig: /etc/ld.so.conf.d/kernel-4.14.232-123.381.amzn1.x86_64.conf:6: duplicate hwcap 1 nosegneg
ldconfig: /etc/ld.so.conf.d/kernel-4.14.238-125.422.amzn1.x86_64.conf:6: duplicate hwcap 1 nosegneg
ldconfig: Path `/usr/local/lib' given more than once
ldconfig: Can't stat /libx32: No such file or directory
ldconfig: Can't stat /usr/libx32: No such file or directory
/usr/lib64/atlas:
    libclapack.so.3 -> libclapack.so.3.0
    libf77blas.so.3 -> libf77blas.so.3.0
    libcblas.so.3 -> libcblas.so.3.0
    libptcblas.so.3 -> libptcblas.so.3.0
    libptf77blas.so.3 -> libptf77blas.so.3.0
    libatlas.so.3 -> libatlas.so.3.0
    liblapack.so.3 -> liblapack.so.3.0
/usr/local/lib:
    libmaxminddb.so.0 -> libmaxminddb.so.0.0.7
    libssh2.so.1 -> libssh2.so.1.0.1
    libedit.so.0 -> libedit.so.0.0.59
    libsqlite3.so.0 -> libsqlite3.so.0.8.6
    libGeoIP.so.1 -> libGeoIP.so.1.6.11
    libwkhtmltox.so.0 -> libwkhtmltox.so.0.12.2
/usr/lib64/mysql56:
    libmysqlclient.so.1018 -> libmysqlclient_r.so.1018.1.0
/usr/lib64/mysql57:
    libmysqlclient.so.1020 -> libmysqlclient.so.1020.3.18
/lib:
/lib64:
    libdevmapper-event-lvm2.so.2.02 -> libdevmapper-event-lvm2.so.2.02
    libcidn.so.1 -> libcidn-2.17.so
    libnss_nisplus.so.2 -> libnss_nisplus-2.17.so
    libpcre.so.0 -> libpcre.so.0.0.1
    libSegFault.so -> libSegFault.so
    libdmraid-events-isw.so.1 -> libdmraid-events-isw.so.1.0.0.rc16
    libnsl.so.1 -> libnsl-2.17.so
    libutil.so.1 -> libutil-2.17.so
    libdbus-1.so.3 -> libdbus-1.so.3.7.4
    libpam.so.0 -> libpam.so.0.83.1
    libudev.so.0 -> libudev.so.0.12.0
    libplds4.so -> libplds4.so
    libcryptsetup.so.4 -> libcryptsetup.so.4.7.0
    libaio.so.1.0.0 -> libaio.so.1.0.0
    libcap-ng.so.0 -> libcap-ng.so.0.0.0
    libnfsidmap.so.0 -> libnfsidmap.so.0.3.0
    libgssglue.so.1 -> libgssglue.so.1.0.0
    libnss_files.so.2 -> libnss_files-2.17.so
    libparted-2.1.so.0 -> libparted-2.1.so.0.0.0
    libexpat.so.1 -> libexpat.so.1.6.0
    libnss_hesiod.so.2 -> libnss_hesiod-2.17.so
    libldap_r-2.4.so.2 -> libldap_r-2.4.so.2.10.3
    libcrypt.so.1 -> libcrypt-2.17.so
    libnl.so.1 -> libnl.so.1.1.4
    libpthread.so.0 -> libpthread-2.17.so
    libdb-4.7.so -> libdb-4.7.so
    librt.so.1 -> librt-2.17.so
    libfreebl3.so -> libfreebl3.so
    libkeyutils.so.1 -> libkeyutils.so.1.5
    liblber-2.4.so.2 -> liblber-2.4.so.2.10.3
    libuuid.so.1 -> libuuid.so.1.3.0
    libssl.so.10 -> libssl.so.1.0.2k
    libsmartcols.so.1 -> libsmartcols.so.1.1.0
    libmount.so.1 -> libmount.so.1.1.0
    liblvm2cmd.so.2.02 -> liblvm2cmd.so.2.02
    libcrypto.so.10 -> libcrypto.so.1.0.2k
    libpwquality.so.1 -> libpwquality.so.1.0.2
    libnspr4.so -> libnspr4.so
    libm.so.6 -> libm-2.17.so
    libauparse.so.0 -> libauparse.so.0.0.0
    libwrap.so.0 -> libwrap.so.0.7.6
    libgpg-error.so.0 -> libgpg-error.so.0.9.0
    libplc4.so -> libplc4.so
    libldap-2.4.so.2 -> libldap-2.4.so.2.10.3
    libncurses.so.5 -> libncurses.so.5.7
    libaudit.so.1 -> libaudit.so.1.0.0
    libreadline.so.6 -> libreadline.so.6.2
    libpam_misc.so.0 -> libpam_misc.so.0.82.0
    ld-linux-x86-64.so.2 -> ld-2.17.so
    libpamc.so.0 -> libpamc.so.0.82.1
    liblvm2app.so.2.2 -> liblvm2app.so.2.2
    libnih-dbus.so.1 -> libnih-dbus.so.1.0.0
    libcap.so.2 -> libcap.so.2.16
    libdl.so.2 -> libdl-2.17.so
    libBrokenLocale.so.1 -> libBrokenLocale-2.17.so
    libnss_dns.so.2 -> libnss_dns-2.17.so
    libiptc.so.0 -> libiptc.so.0.0.0
    libthread_db.so.1 -> libthread_db-1.0.so
    libnss_compat.so.2 -> libnss_compat-2.17.so
    libpci.so.3 -> libpci.so.3.1.10
    libfuse.so.2 -> libfuse.so.2.9.4
    libpopt.so.0 -> libpopt.so.0.0.0
    libdevmapper.so.1.02 -> libdevmapper.so.1.02
    libidn.so.11 -> libidn.so.11.6.1
    libdmraid.so.1 -> libdmraid.so.1.0.0.rc16
    libtirpc.so.1 -> libtirpc.so.1.0.10
    libip4tc.so.0 -> libip4tc.so.0.1.0
    libaio.so.1 -> libaio.so.1.0.1
    libnss_nis.so.2 -> libnss_nis-2.17.so
    libtinfo.so.5 -> libtinfo.so.5.7
    libfreeblpriv3.so -> libfreeblpriv3.so
    libc.so.6 -> libc-2.17.so
    libz.so.1 -> libz.so.1.2.8
    libxtables.so.10 -> libxtables.so.10.0.0
    libcgroup.so.1 -> libcgroup.so.1.0.40
    libattr.so.1 -> libattr.so.1.1.0
    libproc-3.2.8.so -> libproc-3.2.8.so
    libldif-2.4.so.2 -> libldif-2.4.so.2.10.3
    libnss_db.so.2 -> libnss_db-2.17.so
    libnih.so.1 -> libnih.so.1.0.0
    libgcc_s.so.1 -> libgcc_s-4.8.5-20150702.so.1
    libbz2.so.1 -> libbz2.so.1.0.6
    libulockmgr.so.1 -> libulockmgr.so.1.0.1
    libdevmapper-event.so.1.02 -> libdevmapper-event.so.1.02
    libncursesw.so.5 -> libncursesw.so.5.7
    libresolv.so.2 -> libresolv-2.17.so
    libip6tc.so.0 -> libip6tc.so.0.1.0
    libacl.so.1 -> libacl.so.1.1.0
    libsepol.so.1 -> libsepol.so.1
    libasound.so.2 -> libasound.so.2.0.0
    libblkid.so.1 -> libblkid.so.1.1.0
    libanl.so.1 -> libanl-2.17.so
/usr/lib:
/usr/lib64:
    libcupsppdc.so.1 -> libcupsppdc.so.1
    libcupsmime.so.1 -> libcupsmime.so.1
    libpcprofile.so -> libpcprofile.so
    libcupscgi.so.1 -> libcupscgi.so.1
    libsoftokn3.so -> libsoftokn3.so
    libX11.so.6 -> libX11.so.6.3.0
    libGLdispatch.so.0 -> libGLdispatch.so.0.0.0
    libmemusage.so -> libmemusage.so
    libverto.so.1 -> libverto.so.1.0.0
    libsmi.so.2 -> libsmi.so.2.0.27
    libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9
    libsctp.so.1 -> libsctp.so.1.0.10
    libXpm.so.4 -> libXpm.so.4.11.0
    libxcb-composite.so.0 -> libxcb-composite.so.0.0.0
    libxcb-res.so.0 -> libxcb-res.so.0.0.0
    libGLX.so.0 -> libGLX.so.0.0.0
    libisccfg.so.82 -> libisccfg.so.82.0.1
    libdrm_intel.so.1 -> libdrm_intel.so.1.0.0
    libkrb5support.so.0 -> libkrb5support.so.0.1
    libkrad.so.0 -> libkrad.so.0.0
    libxshmfence.so.1 -> libxshmfence.so.1.0.0
    libcurl.so.4 -> libcurl.so.4.5.0
    libmenuw.so.5 -> libmenuw.so.5.7
    libnuma.so.1 -> libnuma.so.1
    libmpfr.so.4 -> libmpfr.so.4.1.1
    libxcb-xtest.so.0 -> libxcb-xtest.so.0.0.0
    libxcb-xf86dri.so.0 -> libxcb-xf86dri.so.0.0.0
    libjemalloc.so.1 -> libjemalloc.so.1
    libsmime3.so -> libsmime3.so
    libtcmalloc_minimal_debug.so.4 -> libtcmalloc_minimal_debug.so.4.1.0
    libdrm.so.2 -> libdrm.so.2.4.0
    libXtst.so.6 -> libXtst.so.6.1.0
    librpm.so.3 -> librpm.so.3.2.2
    libgif.so.4 -> libgif.so.4.1.6
    libgpgme.so.11 -> libgpgme.so.11.11.0
    libOpenGL.so.0 -> libOpenGL.so.0.0.0
    libxcb-xkb.so.1 -> libxcb-xkb.so.1.0.0
    libslang.so.2 -> libslang.so.2.2.1
    libgcrypt.so.11 -> libgcrypt.so.11.8.2
    libaggplatformX11.so.2 -> libaggplatformX11.so.2.0.4
    libtiffxx.so.5 -> libtiffxx.so.5.2.0
    libedit.so.0 -> libedit.so.0.0.27
    libXdamage.so.1 -> libXdamage.so.1.1.0
    libxcb-damage.so.0 -> libxcb-damage.so.0.0.0
    libavahi-client.so.3 -> libavahi-client.so.3.2.5
    libpython3.6m.so.1.0 -> libpython3.6m.so.1.0
    libicudata.so.42 -> libicudata.so.42.1
    libxcb-shape.so.0 -> libxcb-shape.so.0.0.0
    libglib-2.0.so.0 -> libglib-2.0.so.0.3600.3
    libpth.so.20 -> libpth.so.20.0.27
    libdrm_radeon.so.1 -> libdrm_radeon.so.1.0.1
    libisccc.so.80 -> libisccc.so.80.0.0
    libdb-4.7.so -> libdb.so
    libgpgme-pthread.so.11 -> libgpgme-pthread.so.11.11.0
    libxcb-dri2.so.0 -> libxcb-dri2.so.0.0.0
    libldap_r-2.4.so.2 -> libldap_r.so
    libjpeg.so.62 -> libjpeg.so.62.0.0
    libbfd-2.25.1-31.base.66.amzn1.so -> libbfd-2.25.1-31.base.66.amzn1.so
    libicuio.so.50 -> libicuio.so.50.2
    libpcreposix.so.0 -> libpcreposix.so.0.0.0
    libgbm.so.1 -> libgbm.so.1.0.0
    libcupsimage.so.2 -> libcupsimage.so.2
    libdns.so.81 -> libdns.so.81.4.1
    libnsssysinit.so -> libnsssysinit.so
    libicui18n.so.50 -> libicui18n.so.50.2
    libp11-kit.so.0 -> libp11-kit.so.0.0.0
    libpciaccess.so.0 -> libpciaccess.so.0.11.1
    libssl.so.10 -> libssl.so.1.0.2k
    libgobject-2.0.so.0 -> libgobject-2.0.so.0.3600.3
    libgd.so.2 -> libgd.so.2.0.0
    libXi.so.6 -> libXi.so.6.1.0
    libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2
    libgnutls.so.26 -> libgnutls.so.26.22.6
    libsemanage.so.1 -> libsemanage.so.1
    libhttp_parser_strict.so.2 -> libhttp_parser_strict.so.2.9.3
    libcups.so.2 -> libcups.so.2
    libcpupower.so.0 -> libcpupower.so.0.0.1
    libnfnetlink.so.0 -> libnfnetlink.so.0.2.0
    libgthread-2.0.so.0 -> libgthread-2.0.so.0.3600.3
    libnsspem.so -> libnsspem.so
    libsysfs.so.2 -> libsysfs.so.2.0.1
    libfreetype.so.6 -> libfreetype.so.6.3.22
    libcrypto.so.10 -> libcrypto.so.1.0.2k
    libcrack.so.2 -> libcrack.so.2.8.1
    libasprintf.so.0 -> libasprintf.so.0.0.0
    libnssutil3.so -> libnssutil3.so
    libpanelw.so.5 -> libpanelw.so.5.7
    libGLX_mesa.so.0 -> libGLX_mesa.so.0.0.0
    libgettextpo.so.0 -> libgettextpo.so.0.5.1
    libjq.so.1 -> libjq.so.1.0.4
    libext2fs.so.2 -> libext2fs.so.2.4
    libonig.so.2 -> libonig.so.2.0.0
    p11-kit-trust.so -> libnssckbi.so
    libxcb-record.so.0 -> libxcb-record.so.0.0.0
    libX11-xcb.so.1 -> libX11-xcb.so.1.0.0
    libtcmalloc_and_profiler.so.4 -> libtcmalloc_and_profiler.so.4.1.0
    liblua-5.1.so -> liblua-5.1.so
    libxcb-xevie.so.0 -> libxcb-xevie.so.0.0.0
    libssh2.so.1 -> libssh2.so.1.0.1
    libungif.so.4 -> libungif.so.4.1.6
    liblber-2.4.so.2 -> liblber.so
    libgmp.so.3 -> libgmp.so.3.5.2
    libtiff.so.5 -> libtiff.so.5.2.0
    libXau.so.6 -> libXau.so.6.0.0
    libxml2.so.2 -> libxml2.so.2.9.1
    librpmio.so.3 -> librpmio.so.3.2.2
    libmagic.so.1 -> libmagic.so.1.0.0
    libxcb-xv.so.0 -> libxcb-xv.so.0.0.0
    libnghttp2.so.14 -> libnghttp2.so.14.17.0
    libssl3.so -> libssl3.so
    libxcb-dri3.so.0 -> libxcb-dri3.so.0.0.0
    libICE.so.6 -> libICE.so.6.3.0
    libfontconfig.so.1 -> libfontconfig.so.1.4.4
    libunwind-x86_64.so.8 -> libunwind-x86_64.so.8.0.1
    libgettextsrc-0.18.1.so -> libgettextsrc-0.18.1.so
    libhistory.so.6 -> libhistory.so.6.2
    libnewt.so.0.52 -> libnewt.so.0.52.11
    libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.9
    libgpm.so.2 -> libgpm.so.2.1.0
    libjbig85.so.2.0 -> libjbig85.so.2.0
    libsqlite3.so.0 -> libsqlite3.so.0.8.6
    libustr-1.0.so.1 -> libustr-1.0.so.1.0.4
    libtasn1.so.3 -> libtasn1.so.3.1.6
    libGL.so.1 -> libGL.so.1.0.0
    libicule.so.50 -> libicule.so.50.2
    libfontenc.so.1 -> libfontenc.so.1.0.0
    libgettextlib-0.18.1.so -> libgettextlib-0.18.1.so
    liblzma.so.5 -> liblzma.so.5.2.2
    libevent-2.0.so.5 -> libevent-2.0.so.5.1.9
    libEGL.so.1 -> libEGL.so.1.0.0
    libidn2.so.0 -> libidn2.so.0.3.7
    libxcb-xvmc.so.0 -> libxcb-xvmc.so.0.0.0
    libtcmalloc_debug.so.4 -> libtcmalloc_debug.so.4.1.0
    libruby.so.2.0 -> libruby.so.2.0.0
    libicuuc.so.42 -> libicuuc.so.42.1
    libgssrpc.so.4 -> libgssrpc.so.4.2
    libopcodes-2.25.1-31.base.66.amzn1.so -> libopcodes-2.25.1-31.base.66.amzn1.so
    libwiretap.so.2 -> libwiretap.so.2.1.10
    libgmodule-2.0.so.0 -> libgmodule-2.0.so.0.3600.3
    libXfont.so.1 -> libXfont.so.1.4.1
    libunwind-coredump.so.0 -> libunwind-coredump.so.0.0.0
    libpipeline.so.1 -> libpipeline.so.1.2.3
    libEGL_mesa.so.0 -> libEGL_mesa.so.0.0.0
    libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.1.9
    libxcb.so.1 -> libxcb.so.1.1.0
    libcupsdriver.so.1 -> libcupsdriver.so.1
    libpng.so.3 -> libpng.so.3.49.0
    libapr-1.so.0 -> libapr-1.so.0.6.3
    libxcb-glx.so.0 -> libxcb-glx.so.0.0.0
    libfipscheck.so.1 -> libfipscheck.so.1.1.0
    libtcmalloc_minimal.so.4 -> libtcmalloc_minimal.so.4.1.0
    libkms.so.1 -> libkms.so.1.0.0
    libnss3.so -> libnss3.so
    libpython2.6.so.1.0 -> libpython2.6.so.1.0
    libv8.so.3 -> libv8.so.3.14.5
    libcom_err.so.2 -> libcom_err.so.2.1
    libGLESv2.so.2 -> libGLESv2.so.2.0.0
    libXxf86vm.so.1 -> libXxf86vm.so.1.0.0
    libhesiod.so.0 -> libhesiod.so.0.0.0
    libwsutil.so.2 -> libwsutil.so.2.0.0
    libexslt.so.0 -> libexslt.so.0.8.17
    libmp.so.3 -> libmp.so.3.1.16
    libcairo-script-interpreter.so.2 -> libcairo-script-interpreter.so.2.11200.14
    libicutu.so.42 -> libicutu.so.42.1
    libselinux.so.1 -> libselinux.so.1
    libXfixes.so.3 -> libXfixes.so.3.1.0
    liblcms.so.1 -> liblcms.so.1.0.19
    libnetfilter_conntrack.so.3 -> libnetfilter_conntrack.so.3.5.0
    libnssdbm3.so -> libnssdbm3.so
    libutempter.so.0 -> libutempter.so.1.1.5
    libXcomposite.so.1 -> libXcomposite.so.1.0.0
    libinotifytools.so.0 -> libinotifytools.so.0.4.1
    libjbig.so.2.0 -> libjbig.so.2.0
    librpmbuild.so.3 -> librpmbuild.so.3.2.2
    libdb_cxx-4.7.so -> libdb_cxx.so
    libmpc.so.3 -> libmpc.so.3.0.0
    libyaml-0.so.2 -> libyaml-0.so.2.0.4
    libXext.so.6 -> libXext.so.6.4.0
    libxcb-randr.so.0 -> libxcb-randr.so.0.1.0
    libisc.so.83 -> libisc.so.83.0.3
    libglapi.so.0 -> libglapi.so.0.0.0
    libsasl2.so.2 -> libsasl2.so.2.0.23
    libgfortran.so.3 -> libgfortran.so.3.0.0
    libapreq2.so.3 -> libapreq2.so.3.8.0
    libgnutls-extra.so.26 -> libgnutls-extra.so.26.22.6
    libe2p.so.2 -> libe2p.so.2.3
    libgnutlsxx.so.26 -> libgnutlsxx.so.26.14.12
    libicutest.so.50 -> libicutest.so.50.2
    libpanel.so.5 -> libpanel.so.5.7
    libldap-2.4.so.2 -> libldap.so
    libxcb-dpms.so.0 -> libxcb-dpms.so.0.0.0
    libSM.so.6 -> libSM.so.6.0.1
    librpmsign.so.1 -> librpmsign.so.1.2.2
    libtcmalloc.so.4 -> libtcmalloc.so.4.1.0
    libXrender.so.1 -> libXrender.so.1.3.0
    libpng12.so.0 -> libpng12.so.0.49.0
    libuser.so.1 -> libuser.so.1.5.0
    libkadm5srv_mit.so.11 -> libkadm5srv_mit.so.11.0
    libldif-2.4.so.2 -> libldif.so
    libunwind.so.8 -> libunwind.so.8.0.1
    libicuio.so.42 -> libicuio.so.42.1
    libicudata.so.50 -> libicudata.so.50.2
    libformw.so.5 -> libformw.so.5.7
    libxslt.so.1 -> libxslt.so.1.1.28
    libavahi-common.so.3 -> libavahi-common.so.3.5.1
    libdrm_amdgpu.so.1 -> libdrm_amdgpu.so.1.0.0
    libffi.so.6 -> libffi.so.6.0.1
    libagg.so.2 -> libagg.so.2.0.4
    libss.so.2 -> libss.so.2.0
    libgmp.so.10 -> libgmp.so.10.2.0
    liblwres.so.80 -> liblwres.so.80.0.2
    libuv.so.0.10 -> libuv.so.0.10
    liblcms2.so.2 -> liblcms2.so.2.0.6
    libiculx.so.50 -> libiculx.so.50.2
    libunistring.so.0 -> libunistring.so.0.1.2
    libgdbm.so.2 -> libgdbm.so.2.0.0
    libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
    libxcb-xselinux.so.0 -> libxcb-xselinux.so.0.0.0
    libxcb-xinerama.so.0 -> libxcb-xinerama.so.0.0.0
    libiculx.so.42 -> libiculx.so.42.1
    libgio-2.0.so.0 -> libgio-2.0.so.0.3600.3
    libpixman-1.so.0 -> libpixman-1.so.0.32.4
    libicui18n.so.42 -> libicui18n.so.42.1
    libquadmath.so.0 -> libquadmath.so.0.0.0
    libkrb5.so.3 -> libkrb5.so.3.3
    libxcb-shm.so.0 -> libxcb-shm.so.0.0.0
    libnss_compat_ossl.so.0 -> libnss_compat_ossl.so.0.0.0
    libwireshark.so.2 -> libwireshark.so.2.0.10
    libxcb-sync.so.1 -> libxcb-sync.so.1.0.0
    libicule.so.42 -> libicule.so.42.1
    libhttp_parser.so.2 -> libhttp_parser.so.2.9.3
    libpython2.7.so.1.0 -> libpython2.7.so.1.0
    libstdc++.so.6 -> libstdc++.so.6.0.19
    libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9
    libdrm_nouveau.so.2 -> libdrm_nouveau.so.2.0.0
    libcairo.so.2 -> libcairo.so.2.11200.14
    libv8preparser.so.3 -> libv8preparser.so.3.14.5
    libform.so.5 -> libform.so.5.7
    libicutu.so.50 -> libicutu.so.50.2
    libxcb-render.so.0 -> libxcb-render.so.0.0.0
    libk5crypto.so.3 -> libk5crypto.so.3.1
    libpcrecpp.so.0 -> libpcrecpp.so.0.0.0
    libgomp.so.1 -> libgomp.so.1.0.0
    libxcb-present.so.0 -> libxcb-present.so.0.0.0
    libassuan.so.0 -> libassuan.so.0.3.0
    libmenu.so.5 -> libmenu.so.5.7
    libmnl.so.0 -> libmnl.so.0.1.0
    libkadm5clnt_mit.so.11 -> libkadm5clnt_mit.so.11.0
    libxcb-xfixes.so.0 -> libxcb-xfixes.so.0.0.0
    libopts.so.25 -> libopts.so.25.15.0
    libpcap.so.1 -> libpcap.so.1.5.3
    libprofiler.so.0 -> libprofiler.so.0.3.0
    libaggfontfreetype.so.2 -> libaggfontfreetype.so.2.0.4
    libxcb-screensaver.so.0 -> libxcb-screensaver.so.0.0.0
    libgtop-2.0.so.7 -> libgtop-2.0.so.7.2.0
    libkmod.so.2 -> libkmod.so.2.2.4
    libbind9.so.80 -> libbind9.so.80.0.4
    libgmpxx.so.4 -> libgmpxx.so.4.4.0
    libtic.so.5 -> libtic.so.5.7
    libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.0.0
    libpsl.so.0 -> libpsl.so.0.2.3
    libelf.so.1 -> libelf-0.168.so
    libicuuc.so.50 -> libicuuc.so.50.2
    libkdb5.so.8 -> libkdb5.so.8.0
/lib64/tls: (hwcap: 0x8000000000000000)
/usr/lib64/sse2: (hwcap: 0x0000000004000000)
/usr/lib64/tls: (hwcap: 0x8000000000000000)
salva commented 3 weeks ago

Hi,

The issue seems to be that libssh2_userauth_publickey_frommemory is only available when libssh2 is compiled with libssh2 backend.

Fixed in the development version.