You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a Docker image configured with C and C++ compilers specified for darwin, but compilation fails for darwin-amd64 with CGO_ENABLED=1 with the following error:
# github.com/google/certificate-transparency-go/x509
x509/root_cgo_darwin.go:44:57: error: use of undeclared identifier 'kSecTrustSettingsDomainUser'
OSStatus err = SecTrustSettingsCopyTrustSettings(cert, kSecTrustSettingsDomainUser, &trustSettings);
^
x509/root_cgo_darwin.go:51:49: error: use of undeclared identifier 'kSecTrustSettingsDomainAdmin'
err = SecTrustSettingsCopyTrustSettings(cert, kSecTrustSettingsDomainAdmin, &trustSettings);
^
x509/root_cgo_darwin.go:58:10: error: use of undeclared identifier 'kSecTrustSettingsResultUnspecified'; did you mean 'kSecTrustResultUnspecified'?
return kSecTrustSettingsResultUnspecified;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kSecTrustResultUnspecified
/usr/osxcross/bin/../SDK/MacOSX14.4.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrust.h:94:5: note: 'kSecTrustResultUnspecified' declared here
kSecTrustResultUnspecified CF_ENUM_AVAILABLE(10_3, 2_0) = 4,
^
x509/root_cgo_darwin.go:65:10: error: use of undeclared identifier 'kSecTrustSettingsResultTrustRoot'
return kSecTrustSettingsResultTrustRoot;
^
x509/root_cgo_darwin.go:101:13: error: use of undeclared identifier 'kSecTrustSettingsResultTrustRoot'; did you mean '_kSecTrustSettingsResult'?
result = kSecTrustSettingsResultTrustRoot;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_kSecTrustSettingsResult
x509/root_cgo_darwin.go:71:14: note: '_kSecTrustSettingsResult' declared here
CFStringRef _kSecTrustSettingsResult = CFStringCreateWithCString(
^
x509/root_cgo_darwin.go:109:17: error: use of undeclared identifier 'kSecTrustSettingsResultTrustRoot'; did you mean '_kSecTrustSettingsResult'?
if (result == kSecTrustSettingsResultTrustRoot) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_kSecTrustSettingsResult
x509/root_cgo_darwin.go:71:14: note: '_kSecTrustSettingsResult' declared here
CFStringRef _kSecTrustSettingsResult = CFStringCreateWithCString(
^
x509/root_cgo_darwin.go:111:24: error: use of undeclared identifier 'kSecTrustSettingsResultTrustAsRoot'; did you mean '_kSecTrustSettingsResult'?
} else if (result == kSecTrustSettingsResultTrustAsRoot) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_kSecTrustSettingsResult
x509/root_cgo_darwin.go:71:14: note: '_kSecTrustSettingsResult' declared here
CFStringRef _kSecTrustSettingsResult = CFStringCreateWithCString(
^
x509/root_cgo_darwin.go:113:24: error: use of undeclared identifier 'kSecTrustSettingsResultDeny'; did you mean '_kSecTrustSettingsResult'?
} else if (result == kSecTrustSettingsResultDeny) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
_kSecTrustSettingsResult
x509/root_cgo_darwin.go:71:14: note: '_kSecTrustSettingsResult' declared here
CFStringRef _kSecTrustSettingsResult = CFStringCreateWithCString(
^
x509/root_cgo_darwin.go:126:12: error: use of undeclared identifier 'kSecTrustSettingsResultUnspecified'; did you mean 'kSecTrustResultUnspecified'?
result = kSecTrustSettingsResultUnspecified;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kSecTrustResultUnspecified
/usr/osxcross/bin/../SDK/MacOSX14.4.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrust.h:94:5: note: 'kSecTrustResultUnspecified' declared here
kSecTrustResultUnspecified CF_ENUM_AVAILABLE(10_3, 2_0) = 4,
^
x509/root_cgo_darwin.go:167:73: error: use of undeclared identifier 'kSecTrustSettingsResultInvalid'; did you mean 'kSecTrustResultInvalid'?
fprintf(stderr, "crypto/x509: kSecTrustSettingsResultInvalid = %d\n", kSecTrustSettingsResultInvalid);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kSecTrustResultInvalid
/usr/osxcross/bin/../SDK/MacOSX14.4.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrust.h:90:5: note: 'kSecTrustResultInvalid' declared here
kSecTrustResultInvalid CF_ENUM_AVAILABLE(10_3, 2_0) = 0,
^
x509/root_cgo_darwin.go:168:75: error: use of undeclared identifier 'kSecTrustSettingsResultTrustRoot'
fprintf(stderr, "crypto/x509: kSecTrustSettingsResultTrustRoot = %d\n", kSecTrustSettingsResultTrustRoot);
^
x509/root_cgo_darwin.go:169:77: error: use of undeclared identifier 'kSecTrustSettingsResultTrustAsRoot'
fprintf(stderr, "crypto/x509: kSecTrustSettingsResultTrustAsRoot = %d\n", kSecTrustSettingsResultTrustAsRoot);
^
x509/root_cgo_darwin.go:170:70: error: use of undeclared identifier 'kSecTrustSettingsResultDeny'
fprintf(stderr, "crypto/x509: kSecTrustSettingsResultDeny = %d\n", kSecTrustSettingsResultDeny);
^
x509/root_cgo_darwin.go:171:77: error: use of undeclared identifier 'kSecTrustSettingsResultUnspecified'; did you mean 'kSecTrustResultUnspecified'?
fprintf(stderr, "crypto/x509: kSecTrustSettingsResultUnspecified = %d\n", kSecTrustSettingsResultUnspecified);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kSecTrustResultUnspecified
/usr/osxcross/bin/../SDK/MacOSX14.4.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrust.h:94:5: note: 'kSecTrustResultUnspecified' declared here
kSecTrustResultUnspecified CF_ENUM_AVAILABLE(10_3, 2_0) = 4,
^
x509/root_cgo_darwin.go:177:2: error: use of undeclared identifier 'SecTrustSettingsDomain'
SecTrustSettingsDomain domains[] = { kSecTrustSettingsDomainSystem,
^
x509/root_cgo_darwin.go:180:26: error: use of undeclared identifier 'domains'
int numDomains = sizeof(domains)/sizeof(SecTrustSettingsDomain);
^
x509/root_cgo_darwin.go:180:42: error: use of undeclared identifier 'SecTrustSettingsDomain'
int numDomains = sizeof(domains)/sizeof(SecTrustSettingsDomain);
^
x509/root_cgo_darwin.go:190:51: error: use of undeclared identifier 'domains'
OSStatus err = SecTrustSettingsCopyCertificates(domains[i], &certs);
^
x509/root_cgo_darwin.go:191:14: error: use of undeclared identifier 'noErr'
if (err != noErr) {
^
x509/root_cgo_darwin.go:203:8: error: use of undeclared identifier 'domains'
if (domains[i] == kSecTrustSettingsDomainSystem) {
^
x509/root_cgo_darwin.go:203:22: error: use of undeclared identifier 'kSecTrustSettingsDomainSystem'
if (domains[i] == kSecTrustSettingsDomainSystem) {
^
x509/root_cgo_darwin.go:208:14: error: use of undeclared identifier 'kSecTrustSettingsResultTrustRoot'
result = kSecTrustSettingsResultTrustRoot;
^
x509/root_cgo_darwin.go:236:18: error: use of undeclared identifier 'kSecTrustSettingsResultTrustRoot'
if (result == kSecTrustSettingsResultTrustRoot) {
^
x509/root_cgo_darwin.go:244:25: error: use of undeclared identifier 'kSecTrustSettingsResultTrustAsRoot'
} else if (result == kSecTrustSettingsResultTrustAsRoot) {
^
x509/root_cgo_darwin.go:252:25: error: use of undeclared identifier 'kSecTrustSettingsResultDeny'
} else if (result == kSecTrustSettingsResultDeny) {
^
x509/root_cgo_darwin.go:254:25: error: use of undeclared identifier 'kSecTrustSettingsResultUnspecified'; did you mean 'kSecTrustResultUnspecified'?
} else if (result == kSecTrustSettingsResultUnspecified) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kSecTrustResultUnspecified
/usr/osxcross/bin/../SDK/MacOSX14.4.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrust.h:94:5: note: 'kSecTrustResultUnspecified' declared here
kSecTrustResultUnspecified CF_ENUM_AVAILABLE(10_3, 2_0) = 4,
^
x509/root_cgo_darwin.go:265:30: error: use of undeclared identifier 'kSecFormatX509Cert'
err = SecItemExport(cert, kSecFormatX509Cert, kSecItemPemArmour, NULL, &data);
^
x509/root_cgo_darwin.go:265:50: error: use of undeclared identifier 'kSecItemPemArmour'
err = SecItemExport(cert, kSecFormatX509Cert, kSecItemPemArmour, NULL, &data);
^
x509/root_cgo_darwin.go:266:15: error: use of undeclared identifier 'noErr'
if (err != noErr) {
^
29 errors generated.
I have a Docker image configured with C and C++ compilers specified for
darwin
, but compilation fails fordarwin-amd64
withCGO_ENABLED=1
with the following error:The x509 package README indicates that it is a fork of https://github.com/golang/go/tree/master/src/crypto/x509, and it looks like the upstream has made significant changes in their darwin code.
Tested with version 14.4 of the darwin SDK.
All other combinations of amd64/arm64 and CGO_ENABLED=0/1 work:
The text was updated successfully, but these errors were encountered: