[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