[MacPorts] #59397: openssh @8.1_1: fails to build on 10.6: audit-bsm.c:66:10: fatal error: 'bsm/audit_session.h' file not found

MacPorts noreply at macports.org
Fri Oct 25 16:27:50 UTC 2019


#59397: openssh @8.1_1: fails to build on 10.6: audit-bsm.c:66:10: fatal error:
'bsm/audit_session.h' file not found
-------------------------+----------------------------------------
  Reporter:  grumpybozo  |      Owner:  Ionic
      Type:  defect      |     Status:  reopened
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.6.1
Resolution:              |   Keywords:  snowleopard lion legacy-os
      Port:  openssh     |
-------------------------+----------------------------------------
Changes (by Ionic):

 * keywords:  snowleopard => snowleopard lion legacy-os


Comment:

 This is so weird. I had hoped that these errors only come from Eric
 messing up the `kSecAttrAccessGroup` hiding (mostly because he introduced
 parse errors by wrapping these elements when they were last and hence
 included the terminating curly brace `}`).

 I have to admit that ObjC always has been - and remains - a very weird
 language to me that I fail to understand.

 My best guess currently is that 10.7- bail out because the code uses a new
 feature that is called "Object Subscripting" and requires explicit
 compiler and library support - crucially, stringifying stuff isn't the
 correct fix for that.

 For instance, `NSString        *accountString =
 itemAttributes[(id)kSecAttrAccount];` is supposed to search the dictionary
 `itemAttributes` for the given key and return exactly that key.
 Stringifying it won't do that but just assign a literal string to
 `accountString` that does not contain actual data.

 I guess I could either try to
   - rewrite this stuff to not use Object Subscripting but to create and
 access elements directly, or
   - implement Object Subscripting via a shim and depend upon a newer clang
 compiler that supports this feature.

 I think that the latter option is better because it means less code
 changes (to the original code, at least), and, if I remember correctly, I
 already did something like that in the past and it did work, because
 Object Subscripting does not depend upon ARC (or libarclite).

 Guess I have to dig into that again...

-- 
Ticket URL: <https://trac.macports.org/ticket/59397#comment:28>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list