Phillip Middleton <[email protected]> added the comment:
I have the same issue installing v3.7.3 on RHEL6.8. The standard version came
with openssl v1.0.1c, which would not configure. I installed openssl 1.0.2s in
/usr/local and created a file /etc/profile.d/openssl.sh adding the following
lines:
# /etc/profile.d/openssl.sh
pathmunge /usr/local/openssl/bin
Exiting and relogging into the shell, the version returns openssl 1.0.2s 28 May
2019.
As has been mentioned, there is no openssl distro out there that contains the
filepath that either configure or make appears to expect.
To get through configuration, I began with configure, modifying the ssldirs
variable to /usr/local/openssl, and also repointing the following to the
appropriate subdirs:
17214 if ! $found; then
17215 OPENSSL_INCLUDES=
17216 for ssldir in $ssldirs; do
17217 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for
openssl/ssl.h in $ssldir" >&5
17218 $as_echo_n "checking for openssl/ssl.h in $ssldir... " >&6; }
17219 if test -f "$ssldir/include/openssl/ssl.h"; then
17220 OPENSSL_INCLUDES="-I$ssldir/include/openssl"
17221 OPENSSL_LDFLAGS="-L$ssldir/lib"
This apparently wasn't sufficient for configure to recognize this openssl
installation.
Next, I uncommented and modified Modules/Setup.dist to reflect the openssl
header and lib paths:
211 SSL=/usr/local/openssl
212 _ssl _ssl.c \
213 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
214 -L$(SSL)/lib -lssl -lcrypto
That gets us to here with ./configure:
checking whether compiling and linking against OpenSSL works... yes
checking for X509_VERIFY_PARAM_set1_host in libssl... no
checking for --with-ssl-default-suites... python
However using ./configure -with-openssl=/usr/local/openssl, configure returns:
checking whether compiling and linking against OpenSSL works... yes
checking for X509_VERIFY_PARAM_set1_host in libssl... yes
checking for --with-ssl-default-suites... python
So at least from configure's standpoint, I was able to get configure to pick up
the openssl folder and its include/openssl which contains x509_vfy.h. Ok great.
However make doesn't appear to respect these changes in configure - I get one
of the typical variants of:
*** WARNING: renaming "_hashlib" since importing it failed: libssl.so.1.0.0:
cannot open shared object file: No such file or directory
Python build finished successfully!
The necessary bits to build these optional modules were not found:
_lzma _tkinter _uuid
To find the necessary bits, look in setup.py in detect_modules() for the
module's name.
The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
_abc atexit pwd
time
Failed to build these modules:
_ssl
Following modules built successfully but were removed because they could not be
imported:
_hashlib
Could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with
X509_VERIFY_PARAM_set1_host().
LibreSSL 2.6.4 and earlier do not provide the necessary APIs,
https://github.com/libressl-portable/portable/issues/381
What I'd like to know is, what is the difference between what configure is
looking for and in what cases would make not necessarily respect the
confirmations of configure's checks?
Let me know if there are any dumps/logs you'd be interested in. I realize that
in my case we're dealing with an older OS, but this issue doesn't seem
restricted per se to that alone.
----------
nosy: +Phillip Middleton
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue34028>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com