#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/NSLay... 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