GNU bug report logs - #27059
Can't compile master branch on Mac OS X

Previous Next

Package: emacs;

Reported by: David Caldwell <david <at> porkrind.org>

Date: Wed, 24 May 2017 16:24:02 UTC

Severity: normal

Merged with 27041

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Philipp Stephani <p.stephani2 <at> gmail.com>
To: David Caldwell <david <at> porkrind.org>, 27059 <at> debbugs.gnu.org
Subject: bug#27059: Can't compile master branch on Mac OS X
Date: Wed, 24 May 2017 20:20:14 +0000
[Message part 1 (text/plain, inline)]
David Caldwell <david <at> porkrind.org> schrieb am Mi., 24. Mai 2017 um
18:24 Uhr:

> On Mac OS X 10.9 (Mavericks) and Mac OS X 10.8 (Mountain Lion):
>
>   CC       nsterm.o
> nsterm.m:5496:33: warning: format string is not a string literal
> (potentially insecure) [-Wformat-security]
>   return NSRunAlertPanel(title, msgFormat, defaultButton,
> alternateButton, nil)
>                                 ^~~~~~~~~
> 1 warning generated.
>   CC       nsfns.o
>   CC       nsmenu.o
> nsmenu.m:1496:70: error: expected a type
> - (instancetype)initWithContentRect: (NSRect)contentRect styleMask:
> (NSWindowStyleMask)aStyle
>                                                                      ^
> nsmenu.m:1520:10: warning: incompatible integer to pointer conversion
> assigning to 'id' from 'int' [-Wint-conversion]
>   aStyle =
>
> NSWindowStyleMaskTitled|NSWindowStyleMaskClosable|NSWindowStyleMaskUtilityWindow;
>          ^
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> nsmenu.m:1524:54: warning: incompatible pointer to integer conversion
> sending 'id' to parameter of type 'NSUInteger' (aka 'unsigned long')
> [-Wint-conversion]
>   [super initWithContentRect: contentRect styleMask: aStyle
>                                                      ^~~~~~
> /System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:289:69:
> note: passing argument to parameter 'aStyle' here
> - (id)initWithContentRect:(NSRect)contentRect
> styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType
> defer:(BOOL)flag;
>                                                                     ^
> nsmenu.m:1496:88: warning: conflicting parameter types in implementation
> of 'initWithContentRect:styleMask:backing:defer:': 'NSUInteger' (aka
> 'unsigned long') vs 'id' [-Wmismatched-parameter-types]
> - (instancetype)initWithContentRect: (NSRect)contentRect styleMask:
> (NSWindowStyleMask)aStyle
>
>               ^
> /System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:289:69:
> note: previous definition is here
> - (id)initWithContentRect:(NSRect)contentRect
> styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType
> defer:(BOOL)flag;
>                                                          ~~~~~~~~~~ ^
> 3 warnings and 1 error generated.
> make[1]: *** [nsmenu.o] Error 1
> make: *** [src] Error 2
> make failed
>
>
>
> On Mac OS X 10.6 (Snow Leopard):
>   CC       nsterm.o
> In file included from nsterm.m:48:
> nsterm.h:454: error: expected ')' before 'instancetype'
> nsterm.h:455: error: expected ')' before 'instancetype'
> nsterm.h:456: error: expected ')' before 'instancetype'
> nsterm.h:460: error: expected ')' before 'instancetype'
> nsterm.h:463: error: expected ')' before 'instancetype'
> nsterm.h:523: error: expected ')' before 'instancetype'
> nsterm.h:557: error: expected ')' before 'instancetype'
> nsterm.h:592: error: expected ')' before 'instancetype'
> nsterm.h:611: error: expected ')' before 'instancetype'
> nsterm.h:659: error: expected ')' before 'instancetype'
> nsterm.h:661: error: expected ')' before 'instancetype'
> nsterm.h:663: error: expected ')' before 'instancetype'
> nsterm.h:664: error: expected ')' before 'instancetype'
> nsterm.h:703: error: expected ')' before 'instancetype'
> nsterm.h:706: error: expected ')' before 'instancetype'
> nsterm.h:710: error: expected ')' before 'instancetype'
> nsterm.h:711: error: expected ')' before 'instancetype'
> nsterm.h:712: error: expected ')' before 'instancetype'
> nsterm.h:735: error: expected ')' before 'instancetype'
> nsterm.m:6900: error: expected ')' before 'instancetype'
> nsterm.m:7630: error: expected ')' before 'instancetype'
> nsterm.m:7655: error: expected ')' before 'instancetype'
> nsterm.m:7681: error: expected ')' before 'instancetype'
> nsterm.m:7909: error: expected ')' before 'instancetype'
> nsterm.m:8261: error: expected ')' before 'instancetype'
> nsterm.m:8345: error: expected ')' before 'instancetype'
> nsterm.m:8353: error: expected ')' before 'instancetype'
> nsterm.m:8408: error: expected ')' before 'instancetype'
> nsterm.m:8487: error: expected ')' before 'instancetype'
> make[1]: *** [nsterm.o] Error 1
> make: *** [src] Error 2
> make failed
>
>
> I think these may have been caused by the recent GNUStep changes.
>

Can you try applying the following patch:

diff --git a/src/nsterm.h b/src/nsterm.h
index 8f3d92b353..288b91269d 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -65,7 +65,7 @@ typedef float EmacsCGFloat;
 /* FIXME: instancetype is a language built-in, but older versions of
    Clang don't support it, and I don't know if GCC supports it at all.
    Should this be tested for in ./configure? */
-#if defined (NS_IMPL_GNUSTEP)
+#if defined (NS_IMPL_GNUSTEP) \
     || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10
 typedef id instancetype;
 typedef NSUInteger NSWindowStyleMask;
[Message part 2 (text/html, inline)]

This bug report was last modified 7 years and 358 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.