OpenSSH ver. 8.6 configure issue on AIX 7.1 TL5

Val Baranov val.baranov at duke.edu
Sat Apr 24 03:38:09 AEST 2021


This is the relatively old issue with OpenSSH 'configure' on AIX 7.1 with non-shared OpenSSL ver. 1.1.1k libs "libcrypto.a" and "libssl.a". The "configure" command is
   ./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --without-openssl-header-check --with-cflags=-q64 --with-ldflags=-q64
and produces this error:
   configure: error: *** working libcrypto not found, check config.log

The following entries were found in "config.log":
configure:13292: cc -qlanglvl=extc89 -o conftest -g -q64 -I/usr/local/openssl/include -I/usr/local/zlib/include  -L/usr/local/openssl/lib -L/us
r/local/zlib/lib  -q64 conftest.c -lcrypto -lz  >&5
ld: 0711-317 ERROR: Undefined symbol: .pthread_atfork
ld: 0711-317 ERROR: Undefined symbol: .pthread_once
ld: 0711-317 ERROR: Undefined symbol: .pthread_self
ld: 0711-317 ERROR: Undefined symbol: .pthread_key_delete
ld: 0711-317 ERROR: Undefined symbol: .pthread_setspecific
ld: 0711-317 ERROR: Undefined symbol: .pthread_getspecific
ld: 0711-317 ERROR: Undefined symbol: .pthread_key_create
ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_unlock
ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_wrlock
ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_rdlock
ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_init
ld: 0711-317 ERROR: Undefined symbol: .pthread_rwlock_destroy
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
configure:13292: $? = 8
<skip>
...
<skip>
configure:13295: error: *** working libcrypto not found, check config.log

Based on "configure:13295" error, multiple attempts were made to fix that and the remedy was to add "--with-libs=-lpthread" option:
./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --without-openssl-header-check --with-cflags=-q64 --with-ldflags=-q64 -with-libs=-lpthread

Another verified approach is to replace
LIBS="-lcrypto $LIBS"
with
LIBS="-lcrypto -lpthread $LIBS"
in "configure" script.

The initial error is misleading as referring to "libcrypto" while it actually related to "libpthread" not declared - have an impression that, this was started with OpenSSH 8.x release.
Because "configure" is not capable to rresolve this, pls advise if configuring OpenSSH on a host with OpenSSL complied with "no-shared" option should always use "-with-libs=-lpthread" option or make change with "LIBS" as outlined above - if that is a case then need to have a note in documentation/README, while it would be better to add the logic into the "configure" script in order to evaluate if adding "-lpthread" in LIBS line (see above) is required in a specific case.
Thank you. Val



More information about the openssh-unix-dev mailing list