Changes between Version 1 and Version 2 of Ticket #22768


Ignore:
Timestamp:
Apr 10, 2017, 3:59:52 PM (5 years ago)
Author:
Erik Bray
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #22768

    • Property Priority changed from major to minor
    • Property Report Upstream changed from N/A to Not yet reported upstream; Will do shortly.
    • Property Summary changed from sqlite3 module fails to build for Python 2.7.13 on Cygwin to sqlite3 module fails to build if sqlite3 headers are installed on system
  • Ticket #22768 – Description

    v1 v2  
    1 Python 2.7.13 (updated in #22037) appears to build successfully on Cygwin, but in fact causes failures much later due to the sqlite module failing to link:
     1If the sqlite3 development fails are installed system-wide (e.g. `sqlite3.h` is found in `/usr/include`) then the build can fail like:
    22
    33{{{
     
    1010}}}
    1111
    12 followed by several hundred lines of similar symbol resolution failures.  This only started with 2.7.13, ~~and was not a problem on 2.7.12~~ it appears to be a problem on 2.7.12 as well. I must have been tired/misinterpreting last time I tried it.
     12followed by several hundred lines of similar symbol resolution failures.
    1313
    14 A related issue is the fact that the build is considered successful.  We should figure out how to make it fail if an "optional" extension module that we need fails to build.  Not sure yet exactly how to make it do that.
     14The issue seems to be that if `/usr/include/sqlite.h` is found, it is inserting `-L/usr/lib` earlier than `-L.` in the link flags, and the result is that `/usr/lib/libpythonX.Y` is linked against, rather than the `libpythonX.Y` that was just built.
    1515
    16 Will investigate what changed between ~~2.7.12~~ 2.7.?? and 2.7.13 to make the sqlite module build fail.
     16I've only reproduced this issue on Cygwin, but I don't see anything Cygwin specific about it immediately.
     17
     18A related issue is the fact that the build is considered successful.  We should figure out how to make it fail if an "optional" extension module that we need fails to build; see #22776