[AWS] cannot link with debian 9 and AWS ssl enabled (libssl1.1?)

Björn Lundin b.f.lundin at gmail.com
Sun Aug 20 12:44:29 CEST 2017


Hi!

Having a production machine on 64 bit debian 8 I got

bnl at prod:~$ apt-cache pkgnames | grep -i libssl | sort
libssl1.0.0
libssl1.0.0-dbg
libssl-dev
libssl-doc
libssl-ocaml
libssl-ocaml-dev


and a dev machine on 64 bit debian 9 with

bnl at tp:~/svn/bnlbot/botstart/bot-1-0/source/ada$ apt-cache pkgnames |
grep libssl | sort
libssl1.0.0
libssl1.0.2
libssl1.0-dev
libssl1.1
libssl-dev
libssl-doc
libssl-ocaml
libssl-ocaml-dev
bnl at tp:~/svn/bnlbot/botstart/bot-1-0/source/ada$


To build AWS with ssl support I set

SOCKET    = openssl


in makefile.conf

Building AWS itself works on both debians but using it does not work on
debian 9
 [gprbind]      greenup_lay_first.bexch
   [Ada]          greenup_lay_first.ali
   [gprbind]      markets_sender.bexch
   [Ada]          markets_sender.ali
gprbuild: "repo" up to date
Link
   [link]         bot_send.adb
   [link]         poll.adb
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl__locking__initializeXnn':
aws-net-ssl__openssl.adb:(.text+0x6b0a): undefined reference to
`CRYPTO_set_id_callback'
aws-net-ssl__openssl.adb:(.text+0x6b14): undefined reference to
`CRYPTO_set_locking_callback'
aws-net-ssl__openssl.adb:(.text+0x6b1e): undefined reference to
`CRYPTO_set_dynlock_create_callback'
aws-net-ssl__openssl.adb:(.text+0x6b28): undefined reference to
`CRYPTO_set_dynlock_lock_callback'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl__ciphers':
aws-net-ssl__openssl.adb:(.text+0x7e76): undefined reference to
`SSLv23_method'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl__signature__3':
aws-net-ssl__openssl.adb:(.text+0x9248): undefined reference to
`EVP_MD_CTX_create'
aws-net-ssl__openssl.adb:(.text+0x931e): undefined reference to
`EVP_MD_CTX_destroy'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl__set_accept_state':
aws-net-ssl__openssl.adb:(.text+0xb1aa): undefined reference to
`SSL_set_tmp_rsa_callback'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl__version':
aws-net-ssl__openssl.adb:(.text+0xd9e9): undefined reference to
`SSLeay_version'
aws-net-ssl__openssl.adb:(.text+0xda86): undefined reference to
`SSLeay_version'
aws-net-ssl__openssl.adb:(.text+0xdaa0): undefined reference to
`SSLeay_version'
aws-net-ssl__openssl.adb:(.text+0xdaba): undefined reference to
`SSLeay_version'
aws-net-ssl__openssl.adb:(.text+0xdad4): undefined reference to
`SSLeay_version'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl___elabb':
aws-net-ssl__openssl.adb:(.text+0xe177): undefined reference to
`CRYPTO_num_locks'
aws-net-ssl__openssl.adb:(.text+0xe2ff): undefined reference to
`SSL_load_error_strings'
aws-net-ssl__openssl.adb:(.text+0xe304): undefined reference to
`SSL_library_init'
aws-net-ssl__openssl.adb:(.text+0xe31e): undefined reference to
`SSL_CTX_get_ex_new_index'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl___elabs':
aws-net-ssl__openssl.adb:(.text+0xe492): undefined reference to `SSLeay'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):
In function `aws__net__ssl__locking__initializeXnn':
aws-net-ssl__openssl.adb:(.text+0x6b36): undefined reference to
`CRYPTO_set_dynlock_destroy_callback'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):(.rodata+0x16c0):
undefined reference to `SSLv23_method'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):(.rodata+0x16c8):
undefined reference to `SSLv23_server_method'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):(.rodata+0x16d0):
undefined reference to `SSLv23_client_method'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):(.rodata+0x1720):
undefined reference to `SSLv23_method'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):(.rodata+0x1728):
undefined reference to `SSLv23_server_method'
/usr/local/ada/aws/gpl2017_ssl/lib/aws/libaws.a(aws-net-ssl__openssl.o):(.rodata+0x1730):
undefined reference to `SSLv23_client_method'
collect2: error: ld returned 1 exit status
gprbuild: link of poll.adb failed
makefile:67: receptet för målet ”adabot” misslyckades
make[1]: *** [adabot] Fel 4
make[1]: Lämnar katalogen
”/home/bnl/svn/bnlbot/botstart/bot-1-0/source/ada”


bnl at tp:~/svn/bnlbot/botstart/bot-1-0/source/ada$ uname -a
Linux tp 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64
GNU/Linux
bnl at tp:~/svn/bnlbot/botstart/bot-1-0/source/ada$


bnl at tp:~/svn/bnlbot/botstart/bot-1-0/source/ada$ gnatls -v

GNATLS GPL 2017 (20170515-63)
Copyright (C) 1997-2017, Free Software Foundation, Inc.

Source Search Path:
   <Current_Directory>

/usr/local/ada/gpl2017/gnatx64/lib/gcc/x86_64-pc-linux-gnu/6.3.1/rts-native/adainclude



Object Search Path:
   <Current_Directory>

/usr/local/ada/gpl2017/gnatx64/lib/gcc/x86_64-pc-linux-gnu/6.3.1/rts-native/adalib



Project Search Path:
   <Current_Directory>
   /usr/local/ada/aws/gpl2017_ssl/share/gpr
   /usr/local/ada/gpl2017/gnatx64/lib/gnat
   /usr/local/ada/gpl2017/share/gpr
   /usr/local/ada/gpl2017/lib/gnat
   /usr/local/ada/gpl2017/gnatx64/x86_64-pc-linux-gnu/lib/gnat
   /usr/local/ada/gpl2017/gnatx64/x86_64-pc-linux-gnu/share/gpr
   /usr/local/ada/gpl2017/gnatx64/share/gpr
   /usr/local/ada/gpl2017/gnatx64/lib/gnat



Looking around internet it seems like openssl changed a bit between 1.0
and 1.1

How is this best handled ?
-- 
-- Björn


More information about the AWS mailing list