This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Phillip Middleton
Recipients Phillip Middleton, bkline, chris.jerdonek, christian.heimes, fthommen, hairygristle, kscheidegger, simon@simonfoley.net
Date 2019-06-11.02:30:38
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1560220239.22.0.705556455612.issue34028@roundup.psfhosted.org>
In-reply-to
Content
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.
History
Date User Action Args
2019-06-11 02:30:39Phillip Middletonsetrecipients: + Phillip Middleton, christian.heimes, bkline, chris.jerdonek, hairygristle, simon@simonfoley.net, fthommen, kscheidegger
2019-06-11 02:30:39Phillip Middletonsetmessageid: <1560220239.22.0.705556455612.issue34028@roundup.psfhosted.org>
2019-06-11 02:30:39Phillip Middletonlinkissue34028 messages
2019-06-11 02:30:38Phillip Middletoncreate