Issue 8066: OS X installer: readline module breaks when targeting on 10.5 or 10.6
Issue8066
Created on 2010-03-05 10:38 by ned.deily, last changed 2022-04-11 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| issue-sl-setup-26.txt | ned.deily, 2010-03-05 10:38 | |||
| issue-sl-setup-trunk.txt | ned.deily, 2010-03-05 10:39 | |||
| issue-sl-setup-py3k.txt | ned.deily, 2010-03-05 10:39 | |||
| Messages (4) | |||
|---|---|---|---|
| msg100463 - (view) | Author: Ned Deily (ned.deily) * ![]() |
Date: 2010-03-05 10:38 | |
2.6.5 release blocker Changes for Issue6877 to enable the readline module to use the native OS X editline library instead of GNU readline introduce a problem for OS X installer builds or other builds using MACOSX_DEPLOYMENT_TARGET. The test in setup.py to determine whether to search for a non-system library is based solely on the OS level of the build system and not the minimum deployment target level. Without this patch to setup.py, 10.3- or 10.4-targeted installer builds on 10.5 or 10.6 will fail to search for the installer-supplied GNU readline *and* will be dynamically linked with the crippled 10.4u SDK version of editline, thereby causing the readline module to crash on all levels of OS X. (The installer build needs to continue to supply GNU readline because of the broken 10.4 editline). Symptoms vary by OS level and arch but include bus errors and test failures such as: test_readline failed -- line 29, in testHistoryUpdates self.assertEqual(readline.get_current_history_length(), 2) AssertionError: 8448056 != 2 [10.5]: Python(71826,0xa0c18820) malloc: *** error for object 0x80e994: Non-aligned pointer being freed *** set a breakpoint in malloc_error_break to debug [10.6]: Python(25154,0xa0b73500) malloc: *** error for object 0x80df94: pointer being freed was not allocated [10.4]: test_readline skipped -- dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload/readline.so, 2): Symbol not found: _rl_free_line_state Patches supplied for 26, trunk(27), and py3k(32), but *not* 31 as the readline changes have not been backported to 31. The trunk and 2.6 versions of the patch also correct a version test in setup.py that causes builds on 10.6 to be flooded with OS X deprecation warnings. |
|||
| msg100569 - (view) | Author: Ronald Oussoren (ronaldoussoren) * ![]() |
Date: 2010-03-07 09:27 | |
Barry: this definitely needs to be applied before 2.6.5 is released, without the patch I cannot build the mac installers. The patch disables support for libedit when targetting 10.4, which is IMHO correct because as Ned notes libedit's readline emulation is totally broken in 10.4. |
|||
| msg100606 - (view) | Author: Barry A. Warsaw (barry) * ![]() |
Date: 2010-03-07 20:44 | |
Ned, thanks again for another great OS X fix. Ronald, please apply this to release26-maint for 2.6.5 rc 2. |
|||
| msg100630 - (view) | Author: Ronald Oussoren (ronaldoussoren) * ![]() |
Date: 2010-03-08 07:10 | |
Committed in r78784 (trunk), r78785 (2.6) and r78786 (3.2) (BTW. I applied the patch to the trunk then used svnmerge to merge the patch into the other branches) |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:56:58 | admin | set | nosy:
+ georg.brandl, benjamin.peterson github: 52313 |
| 2010-03-08 07:10:24 | ronaldoussoren | set | status: open -> closed messages:
+ msg100630 |
| 2010-03-07 20:44:58 | barry | set | resolution: accepted messages: + msg100606 |
| 2010-03-07 09:27:11 | ronaldoussoren | set | priority: release blocker nosy: barry, ronaldoussoren, ned.deily messages: + msg100569 |
| 2010-03-05 10:39:37 | ned.deily | set | files: + issue-sl-setup-py3k.txt |
| 2010-03-05 10:39:14 | ned.deily | set | files: + issue-sl-setup-trunk.txt |
| 2010-03-05 10:38:57 | ned.deily | create | |
