[rescue] problems compiling istatd and/or Bjango istatserverlinux on Solaris 11.3

Jonathan Patschke jp at celestrion.net
Mon May 21 13:59:05 CDT 2018


On Mon, 21 May 2018, Jerry Kemp wrote:

> dns32 /usr/local/src/i/istatd-0.5.8 580 # ldd ./istatd
>        libstdc++.so.6 =>        /usr/lib/libstdc++.so.6
>        libstdc++.so.6 (GLIBCXX_3.4.20) =>       (version not found)

During the build, is it using ld as LD, or is it using g++?  The Solaris
linker is occasionally simplistic, but the gcc toolchain should know how
to pass the right magic biscuit to the linker proper.

> main.cpp: In function ``SSL_CTX* InitServerCTX()'':
> main.cpp:328:5: error: ``EC_KEY'' was not declared in this scope
>     EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
>     ^
> main.cpp:328:13: error: ``ecdh'' was not declared in this scope
>     EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
>             ^
> main.cpp:328:65: error: ``EC_KEY_new_by_curve_name'' was not declared in this 
> scope
>     EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
>                                                                 ^
> main.cpp:335:21: error: ``EC_KEY_free'' was not declared in this scope
>     EC_KEY_free(ecdh);

Your OpenSSL is either too old, or has elliptic curve cryptography
disabled.  I just checked on a Solaris 11.3 box, and it doesn't have that
API call.  You'll need at least 1.0.2 (Solaris ships with 1.0.0).

The world of POSIX SSL/TLS is even more of a dumpster fire than usual
right now, with the API breakages in OpenSSL 1.0 -> 1.1 and all the
competing forks (LibreSSL et al) compatibly breaking their APIs at
different points in development.

-- 
Jonathan Patschke
Austin, TX
USA


More information about the rescue mailing list