Subject: Re: Libssh2 - wince(windows mobile 6.0) linker error

Re: Libssh2 - wince(windows mobile 6.0) linker error

From: Peter Stuge <peter_at_stuge.se>
Date: Sat, 17 Oct 2020 10:53:28 +0000

Geetha wrote:
> For ARMV4i processor I have built the libssh2 but when I linked into ARMV4i
> wrapper project I am facing linker errors.
>
> Doubt: can libssh2 work for ARMV4i processor?

Since you have compiled it I expect that it will work. But you must
provide a correct OpenSSL library as I already wrote.

> Below are the errors.
>
> 1>------ Build started: Project: Mobiletesting, Configuration: Debug
> Windows Mobile 6 Professional SDK (ARMV4I) ------
> 1>Linking...
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol RSA_new referenced in function _libssh2_rsa_new
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol BN_bin2bn referenced in function _libssh2_rsa_new
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol BN_new referenced in function _libssh2_rsa_new
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol RSA_verify referenced in function _libssh2_rsa_sha1_verify
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol DSA_new referenced in function _libssh2_dsa_new
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol DSA_SIG_free referenced in function _libssh2_dsa_sha1_verify
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol DSA_do_verify referenced in function _libssh2_dsa_sha1_verify
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol DSA_SIG_new referenced in function _libssh2_dsa_sha1_verify
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol EC_GROUP_get_curve_name referenced in function _libssh2_ecdsa_key_get_curve_type
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol EC_KEY_get0_group referenced in function _libssh2_ecdsa_key_get_curve_type
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol EC_POINT_free referenced in function _libssh2_ecdsa_curve_name_with_octal_new
> 1>libssh2.lib(openssl.obj) : error LNK2019: unresolved external symbol EC_KEY_set_public_key referenced in function _libssh2_ecdsa_curve_name_with_octal_new

If these are the only errors then I think that you have made progress,
because it seems that symbols which were missing before can now be found
by the linker.

But not all neccessary symbols. Which means that your OpenSSL library
files do not contain all functionality needed by libssh2.

Again, I recommend that you spend the time to learn to build OpenSSL
yourself, so that you can build an OpenSSL library which suits your
project.

This also allows you to later update OpenSSL in your final program
independently, which I consider very important when using a less
common platform (ie. ARMv4 Windows Mobile).

//Peter
_______________________________________________
libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2020-10-17