#45666 closed defect (fixed)
emacs-app: error: conflicting types for ‘Cursor’
Reported by: | dbonnafo@… | Owned by: | humem (humem) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.2 |
Keywords: | Cc: | cssdev, dbonnafo@…, michaelthomassullivan, paoloit@…, dliessi (Davide Liessi) | |
Port: | emacs-app |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
on Mac OS X 10.6.8 I get this error building emacs-app 24.4
:info:build In file included from dispextern.h:76, :info:build from frame.h:26, :info:build from font.h:26, :info:build from composite.h:28, :info:build from coding.h:314, :info:build from keyboard.h:21, :info:build from macim.m:22: :info:build nsgui.h:108: error: conflicting types for ‘Cursor’ :info:build /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QuickdrawTypes.h:267: error: previous declaration of ‘Cursor’ was here
Attachments (1)
Change History (9)
comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | css@… added |
---|---|
Description: | modified (diff) |
Owner: | changed from macports-tickets@… to hum@… |
Summary: | conflicting types for ‘Cursor’, emacs-app not built → emacs-app: error: conflicting types for ‘Cursor’ |
comment:2 Changed 10 years ago by dbonnafo@…
Cc: | dbonnafo@… added |
---|
Changed 10 years ago by michaelthomassullivan
Attachment: | patch-src-macim.m.diff added |
---|
comment:6 Changed 10 years ago by michaelthomassullivan
I got the same error on Mac OS X 10.5.8 PPC.
The file macim.m in which the error occurs is added by the "inline" patch (patch-inline-24.4-20140820.diff) which is applied by the default variant inline. More recent versions of OS X don't get the error because Apple has removed the Cursor type from the Carbon framework (it was documented as being deprecated since Tiger).
I couldn't find any meaningful documentation for that inline patch, but from the code it appears to add support for input modes for languages like Japanese, Korean, Chinese, etc. If you don't use those languages the easiest way to get emacs-app to build on older versions of OS X is to simply disable the inline variant, i.e. "port install emacs-app -inline".
If you do want the inline variant, a tiny bit of preprocessor hackery can hide the Cursor type defined by the Carbon framework so that it doesn't conflict with Emacs' own Cursor type (neither of which are used in macim.m). I've attached it as patch-src-macim.m.diff; note that this must be applied after the inline patch creates macim.m.
comment:7 Changed 10 years ago by humem (humem)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thank you very much for your patch on 10.6 or earlier. I have updated the inline patch and added your patch in r129927.
Cc Me!