[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