This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Some Carbon extensions don't build on OSX 10.7
Type: compile error Stage: resolved
Components: Build, macOS Versions: Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ronaldoussoren Nosy List: ned.deily, ronaldoussoren
Priority: normal Keywords: patch

Created on 2011-11-08 14:28 by ronaldoussoren, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
issue13371.txt ronaldoussoren, 2011-11-08 14:59
Messages (4)
msg147304 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2011-11-08 14:28
A number of Carbon wrapper modules don't build on OSX 10.7:

$ make
...

Failed to build these modules:
_Fm                _Qd                _Qdoffs         

This is with '--with-universal-archs=intel', which worked fine on OSX 10.6.

A short part of the compiler output:


/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:26: error: expected ‘)’ before ‘*’ token
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c: In function ‘Fm_GetFontName’:
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:60: error: ‘GetFontName’ undeclared (first use in this function)
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:60: error: (Each undeclared identifier is reported only once
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:60: error: for each function it appears in.)
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:65: warning: implicit declaration of function ‘GetFontName’
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c: In function ‘Fm_GetFNum’:
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:78: error: ‘GetFNum’ undeclared (first use in this function)
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:83: warning: implicit declaration of function ‘GetFNum’
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c: In function ‘Fm_RealFont’:
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:97: error: ‘RealFont’ undeclared (first use in this function)
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:103: warning: implicit declaration of function ‘RealFont’
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c: In function ‘Fm_SetFScaleDisable’:
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:115: error: ‘SetFScaleDisable’ undeclared (first use in this function)
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:120: warning: implicit declaration of function ‘SetFScaleDisable’
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c: In function ‘Fm_FontMetrics’:
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:129: error: ‘FMetricRec’ undeclared (first use in this function)
/Users/ronald/Projects/python/rw/2.7/Mac/Modules/fm/_Fmmodule.c:129: error: expected ‘;’ before ‘theMetrics’


Given the modules and failure it seems that a number of (long) deprecated Carbon functions got removed from Apple's header files.
msg147306 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2011-11-08 14:59
_Fm fails because the wrapped functionality is no longer present in the Headers (last seen in the QD.framework headers in the 10.6 SDK)

likewise for _Qdoffs and _Qd.

The attached patch changed the preprocessor guards around these bindings from 

#ifndef __LP64__

To:

#if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7)

That is, disable the bindings for these deprecated APIs when building for 64-bit code or when building with the 10.7 SDK (or later).

There is a small risk with this patch: I'm not 100% sure that Apple will refrain from adding a definition for MAC_OS_X_VERSION_10_7 in a later release of the 10.6 SDK.
msg148092 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2011-11-21 22:48
LGTM
msg166993 - (view) Author: Ronald Oussoren (ronaldoussoren) * (Python committer) Date: 2012-07-31 12:21
Patch is already applied (ages ago), forgot to close this issue.
History
Date User Action Args
2022-04-11 14:57:23adminsetgithub: 57580
2012-07-31 12:21:04ronaldoussorensetstatus: open -> closed
resolution: fixed
messages: + msg166993

stage: patch review -> resolved
2011-11-21 22:48:07ned.deilysetmessages: + msg148092
2011-11-08 14:59:38ronaldoussorensetfiles: + issue13371.txt

nosy: + ned.deily
messages: + msg147306

keywords: + patch
stage: needs patch -> patch review
2011-11-08 14:29:47vstinnersetcomponents: + Build
2011-11-08 14:28:25ronaldoussorencreate