Opened 9 months ago

Closed 9 months ago

#69437 closed defect (fixed)

R @4.3.3 is broken on < 10.10: error: property 'CGContext' not found on object of type 'NSGraphicsContext *'

Reported by: barracuda156 Owned by: barracuda156
Priority: Normal Milestone:
Component: ports Version: 2.9.1
Keywords: mavericks, mountainlion, lion, snowleopard Cc: i0ntempest, kjellpk (Kjell Konis)
Port: R

Description

qdCocoa.m:102:23: warning: sending 'QuartzCocoaView *' to parameter of incompatible type 'id<NSWindowDelegate>'
        [window setDelegate: view];
                             ^~~~
/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:284:44: note: passing argument to parameter 'anObject' here
- (void)setDelegate:(id <NSWindowDelegate>)anObject;
                                           ^
qdCocoa.m:339:59: error: property 'CGContext' not found on object of type 'NSGraphicsContext *'
    CGContextRef ctx = [NSGraphicsContext currentContext].CGContext;
                                                          ^
qdCocoa.m:349:2: error: use of undeclared identifier 'NSOperatingSystemVersion'; did you mean 'kNSLMinSystemVersion'?
        NSOperatingSystemVersion osver = [[NSProcessInfo processInfo] operatingSystemVersion];
        ^~~~~~~~~~~~~~~~~~~~~~~~
        kNSLMinSystemVersion
/System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework/Headers/NSLCore.h:38:3: note: 'kNSLMinSystemVersion' declared here
  kNSLMinSystemVersion          = 0x0900, /* equivalent to 9.0*/
  ^
qdCocoa.m:349:26: error: expected ';' after expression
        NSOperatingSystemVersion osver = [[NSProcessInfo processInfo] operatingSystemVersion];
                                ^
                                ;
qdCocoa.m:349:2: warning: expression result unused [-Wunused-value]
        NSOperatingSystemVersion osver = [[NSProcessInfo processInfo] operatingSystemVersion];
        ^~~~~~~~~~~~~~~~~~~~~~~~
qdCocoa.m:349:27: error: use of undeclared identifier 'osver'
        NSOperatingSystemVersion osver = [[NSProcessInfo processInfo] operatingSystemVersion];
                                 ^
qdCocoa.m:349:64: warning: instance method '-operatingSystemVersion' not found (return type defaults to 'id') [-Wobjc-method-access]
        NSOperatingSystemVersion osver = [[NSProcessInfo processInfo] operatingSystemVersion];
                                                                      ^~~~~~~~~~~~~~~~~~~~~~
/System/Library/Frameworks/Foundation.framework/Headers/NSProcessInfo.h:20:12: note: receiver is instance of class declared here
@interface NSProcessInfo : NSObject {
           ^
qdCocoa.m:350:16: error: use of undeclared identifier 'osver'
        sonoma_bug = (osver.majorVersion == 14 && osver.minorVersion > 1) ? 1 : 0;
                      ^
qdCocoa.m:350:44: error: use of undeclared identifier 'osver'
        sonoma_bug = (osver.majorVersion == 14 && osver.minorVersion > 1) ? 1 : 0;
                                                  ^
3 warnings and 6 errors generated.
make[5]: *** [qdCocoa.o] Error 1

https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/191710/steps/install-port/logs/stdio

Change History (6)

comment:1 Changed 9 months ago by barracuda156

See, by the way, #61196

Is R forcing quartz variant now? It should be using X11 be default.

comment:3 Changed 9 months ago by barracuda156

In ed4fbfc131aa8441bb6def59871d477b184717da/macports-ports (master):

R: disable aqua for now on < 10.10

See: #69437

comment:4 Changed 9 months ago by barracuda156

Temporary fix worked to have R building again, however the ticket should not be closed yet.

What has to be done is either conditional reverting of the breaking commit: https://github.com/wch/r-source/commit/15dfe81edd88baad7a448860f934ce90ced6b473 (link to a mirror), or a fix to that code.

comment:5 Changed 9 months ago by i0ntempest

I've added a variant for controlling aqua availability, it will be disabled on 10.9 and earlier for now. R-app depends on aqua being enabled.

comment:6 Changed 9 months ago by barracuda156

Owner: set to barracuda156
Resolution: fixed
Status: newclosed

In 63314ef717634c60438a174d3c9607cdd5b5a69c/macports-ports (master):

R: unbreak aqua variant for < 10.10

Closes: #69437

Note: See TracTickets for help on using tickets.