|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2018-12-31 22:11 UTC] john dot iliffe at iliffe dot ca
Description:
------------
This report contains elements of bug reports 72363 (PHP 7.0 and 7.1 and 75726 (PHP 7.1.12). Note the non-standard location of OpenSSL on my server. It appears that the with-openssl= configuration variable is not being picked up.
./configure prefix=/usr/php-7.3.0 --enable-fpm --with-fpm-user=phpfpm --with-libdir=lib64 --with-fpm-group=phpfpm --with-fpm-systemd --disable-short-tags --with-openssl=/usr/openssl-1.1.0i --with-pcre-regex --with-imap=/usr/lib64 --with-imap-ssl=/usr/openssl-1.1.0i/include/openssl --with-pgsql=/usr/postgres-9.6.2/bin --enable-zip --with-pear
Fails with one of several errors:
configure: error: Cannot find OpenSSL's libraries
- can sometimes be resolved by changing to with-openssl=/usr/openssl-1.1.0i/lib
but this leads to
configure: error: Cannot find OpenSSL's <evp.h>
- can resolve this by coding the FULL path to the include libraries:
OPENSSL_INCDIR=/usr/openssl-1.1.0i/include/openssl in line 19052 and several
other places where it occurs. Unfortunately, this messes up libs again.
There is a typo in lines 3843 and 45626 of the configure file, "-qversion" should be "--version". It gives a configure fatal error when encountered but the configuration continues anyway, at least to the errors above.
Test script:
---------------
The ./configure shown in the previous section
Expected result:
----------------
I would expect a valid make file for the compile step.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 21:00:01 2025 UTC |
I have been playing with this over the last few days and I now have more information, but I still don't understand why it fails. Configure error is : configure:19063: error: Cannot find OpenSSL's libraries In configure script, this is in the block starting in line 19062: if test -z "$OPENSSL_LIBDIR"; then as_fn_error $? "Cannot find OpenSSL's libraries" "$LINENO" 5 fi So, $OPENSSL_LIBDIR is null. This is set in line 19053 if test -r $i/$PHP_LIBDIR/libssl.a -o -r $i/$PHP_LIBDIR/libssl.$SHLIB_SUFFIX_NAME; then OPENSSL_LIBDIR=$i/$PHP_LIBDIR fi I assume that the "test -r $i/PHP_LIBDIR/libssl.a" failed since the directory wasn't set. But we know that $PHP_LIBDIR points to libssl.a because $i/lib: (/usr/openssl is a link from /usr/openssl-1.1.0i) ls -l /usr/openssl/lib/libssl.a -rw-r--r--. 1 root root 775792 Aug 29 23:13 /usr/openssl/lib/libssl.a We also know that $PHP_LIBDIR is set correctly because the test: if test -z "$OPENSSL_INCDIR"; then as_fn_error $? "Cannot find OpenSSL's <evp.h>" "$LINENO" 5 fi passed in the previous block and $OPENSSL_INCDIR is defined as: OPENSSL_INCDIR=$i/include which validates the $i/include path, and by inference $i. OPENSSL_LIBDIR is defined as: OPENSSL_LIBDIR=$i/$PHP_LIBDIR and $PHP_LIBDIR is defined in line 4973 as "lib" So, it looks like the test that failed should have passed because it seems probable that $OPENSSL_LIBDIR exists and is correct (?).