[Python-Dev] SSL support in _socket

Barry A. Warsaw barry@zope.com
Wed, 13 Feb 2002 09:47:12 -0500

>>>>> "MAL" == M  <mal@lemburg.com> writes:

    MAL> I thought that Modules/Setup is deprecated and replaced by
    MAL> the auto setup tests in setup.py ? In any case, setup.py will
    MAL> simply remove _socket if it doesn't import correctly and so a
    MAL> casual sys admin or user will lose big if his OpenSSL
    MAL> installation happens to be out of sync with whatever we
    MAL> provide in _socket.

This is a more general problem with the current setup.py stuff for the
standard library.  It took me /ages/ to figure out why BerkeleyDB
support was broken in Python 2.2 -- not just broken, but non-existant!
"import bsddb" simply failed because the .so wasn't there.  I couldn't
figure out why that was until I trolled through the build output and
realized that setup.py was deleting the .so because it got an import
error after building the .so.  Then I had to figure out how to build
the .so and keep it around so I could then learn that it had link
problems and from there, I realized why BerkeleyDB support in Python
2.2 is /really/ busted (it tries to be too smart about finding its

It shouldn't have been this difficult to debug.  Surely there must be
some way to tell setup.py not to delete .so's it can't import so we
have a prayer of finding the real problems.