classification
Title: _sqlite3.so is built with wrong include file on OS X when using an SDK
Type: Stage: resolved
Components: Build, macOS Versions: Python 3.2, Python 3.3, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ned.deily Nosy List: ned.deily, python-dev
Priority: high Keywords: patch

Created on 2012-08-05 09:03 by ned.deily, last changed 2012-08-07 10:12 by python-dev. This issue is now closed.

Files
File name Uploaded Description Edit
issue15560_sqlite3_sdk.patch ned.deily, 2012-08-05 09:08 review
issue15560_sqlite3_sdk_27_32.patch ned.deily, 2012-08-05 09:08
Messages (4)
msg167478 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2012-08-05 09:03
setup.py supports building Python with an OS X SDK to allow building Python executables and libraries that will run on multiple versions of OS X.  There is an error in the SDK support code in detect_modules() for building the _sqlite3 extension that has the effect of incorrectly using header files for libsqlite3 from the build system's installed /usr/include rather than the selected SDK's usr/include. Depending on which SDK version and which OS X version of the build system, the effects of this bug can range from a few compile warning messages (and possible subtle execution errors) to a catastrophic build failure of the _sqlite3 extension.  The attached patches fix the problem.  One consequence of fixing the bug is that it is more important than ever to supply a local newer version of libsqlite3 if building with the obsolete MacOSX10.4u.sdk since the version of libsqlite3 in 10.4 is 3.1.3 and there are several conditional tests in the _sqlite modules to work around bugs and missing features for versions that old, tests that were previously incorrectly checking the system libsqlite3 version.  (By contrast, the version of libsqlite3 in MacOSX10.5.sdk is 3.4.0, old but usable; 10.6 has 3.6.12).
msg167519 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-08-05 22:17
New changeset ef6c6d8adcf5 by Ned Deily in branch '2.7':
Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
http://hg.python.org/cpython/rev/ef6c6d8adcf5

New changeset ee0ac9a0461f by Ned Deily in branch '3.2':
Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
http://hg.python.org/cpython/rev/ee0ac9a0461f

New changeset d706a6f4724c by Ned Deily in branch 'default':
Issue #15560: null merge
http://hg.python.org/cpython/rev/d706a6f4724c

New changeset 6af33673e955 by Ned Deily in branch 'default':
Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
http://hg.python.org/cpython/rev/6af33673e955
msg167524 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2012-08-05 23:51
Committed for release in 2.7.4, 3.2.4, and 3.3.0.
msg167614 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-08-07 10:12
New changeset 59223da36dec by Ned Deily in branch 'default':
Issue #15560: Ensure consistent sqlite3 behavior and feature availability
http://hg.python.org/cpython/rev/59223da36dec
History
Date User Action Args
2012-08-07 10:12:54python-devsetmessages: + msg167614
2012-08-05 23:51:25ned.deilysetstatus: open -> closed
resolution: fixed
messages: + msg167524

stage: commit review -> resolved
2012-08-05 22:17:37python-devsetnosy: + python-dev
messages: + msg167519
2012-08-05 09:08:50ned.deilysetfiles: + issue15560_sqlite3_sdk_27_32.patch
stage: patch review -> commit review
2012-08-05 09:08:31ned.deilysetfiles: + issue15560_sqlite3_sdk.patch
keywords: + patch
2012-08-05 09:03:37ned.deilycreate