• Jason Tishler's avatar
    Patch #491107: Cygwin setup.py import workaround patch · 24cf7766
    Jason Tishler yazdı
    mwh wrote:
    > Jason, feel free to complain if you think this isn't
    > the right thing to do.
    
    I guess that I would like to complain and reopen this
    issue. :,)  I cannot build a Python 2.2.1 with threads
    under Cygwin without this patch even though I'm using
    Michael's static _socket workaround.  This is due to the
    Cygwin fork() problem with DLL base address conflicts
    that are triggered by importing many modules during the
    setup.py run.  Similar problems can also be caused by
    regrtest.py.
    
    Even after my rebase patch is accepted into Cygwin's
    setup.exe, I feel this patch will still be necessary.
    This is because during the build process, the shared
    extensions (i.e., DLLs) will not be rebased yet.  Hence,
    the potential for DLL base address conflicts will exist.
    
    One way to obviate this patch is to push the rebase
    functionality into Cygwin's ld.  Unfortunately, I don't
    think this is likely to happen.  Another possible way,
    is to use the yet to be defined and implemented unload
    module functionality:
    
        http://mail.python.org/pipermail/python-dev/2001-December/019028.html
    24cf7766
setup.py 35.6 KB