[MacPorts] #51116: ipe @7.2.2: build fails on Yosemite, undeclared identifier 'NSLayoutGuide'.
MacPorts
noreply at macports.org
Mon Apr 11 14:26:39 PDT 2016
#51116: ipe @7.2.2: build fails on Yosemite, undeclared identifier 'NSLayoutGuide'.
----------------------+-----------------------
Reporter: devans@… | Owner: m7.thon@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.3.4
Keywords: | Port: ipe
----------------------+-----------------------
After fixing #50704, ipe builds on 10.11 but fails on 10.10.5 with the
following error
{{{
Compiling ipeui_cocoa.cpp...
/usr/bin/clang++ -arch x86_64 -mmacosx-version-min=10.8 -Wdeprecated-
declarations -Wall -Wno-sign-conversion -g -Os -stdlib=libc++ -fPIC -x
objective-c++ -fobjc-arc -DIPEUI_COCOA -std=c++11 -x objective-c++
-fobjc-arc -I/opt/local/include -c -o
../../build/obj/ipeui/ipeui_cocoa.o ipeui_cocoa.cpp
ipeui_cocoa.cpp:89:5: error: use of undeclared identifier 'NSLayoutGuide';
did you mean 'layoutGuide'?
NSLayoutGuide *g = [[NSLayoutGuide alloc] init];
^~~~~~~~~~~~~
layoutGuide
ipeui_cocoa.cpp:84:4: note: 'layoutGuide' declared here
id layoutGuide(NSView *owner)
^
ipeui_cocoa.cpp:89:26: error: use of undeclared identifier
'NSLayoutGuide'; did you mean 'layoutGuide'?
NSLayoutGuide *g = [[NSLayoutGuide alloc] init];
^~~~~~~~~~~~~
layoutGuide
ipeui_cocoa.cpp:84:4: note: 'layoutGuide' declared here
id layoutGuide(NSView *owner)
^
ipeui_cocoa.cpp:89:26: error: bad receiver type 'id (*)(NSView *__strong)'
NSLayoutGuide *g = [[NSLayoutGuide alloc] init];
^~~~~~~~~~~~~
ipeui_cocoa.cpp:89:20: error: use of undeclared identifier 'g'
NSLayoutGuide *g = [[NSLayoutGuide alloc] init];
^
ipeui_cocoa.cpp:90:12: error: no visible @interface for 'NSView' declares
the selector 'addLayoutGuide:'
[owner addLayoutGuide:g];
~~~~~ ^~~~~~~~~~~~~~
ipeui_cocoa.cpp:92:12: error: use of undeclared identifier 'g'
return g;
^
ipeui_cocoa.cpp:142:15: error: no known instance method for selector
'owningView'
return [a owningView]; // is a layout guide
^~~~~~~~~~
ipeui_cocoa.cpp:256:3: error: type arguments cannot be applied to non-
parameterized class 'NSMutableArray'
NSMutableArray <NSView *> *iViews;
^ ~~~~~~~~~~~
8 errors generated.
make[1]: *** [../../build/obj/ipeui/ipeui_cocoa.o] Error 1
make[1]: Leaving directory
`/opt/local/var/macports/build/_opt_macports_trunk_dports_graphics_ipe/ipe/work/ipe-7.2.2/src/ipeui'
}}}
The problem is that NSLayoutGuide is a new class introduced with 10.11 and
so is not available on 10.10 and earlier. See
[https://developer.apple.com/library/mac/documentation/AppKit/Reference/NSLayoutGuide_ClassReference/
NSLayoutGuide Class Reference] for details.
Full build log attached.
--
Ticket URL: <https://trac.macports.org/ticket/51116>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list