Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to compile keyring-rs for iOS project #224

Closed
rtmotiondev opened this issue Oct 18, 2024 · 3 comments · Fixed by #225
Closed

Unable to compile keyring-rs for iOS project #224

rtmotiondev opened this issue Oct 18, 2024 · 3 comments · Fixed by #225

Comments

@rtmotiondev
Copy link

rtmotiondev commented Oct 18, 2024

I'm getting undefined symbols with keyring-rs 3.4.0

keyring = { version = "3.4.0", features = ["apple-native"] }

Xcode 16.0
Build version 16A242d

Apple clang version 16.0.0 (clang-1600.0.26.3)
Target: arm64-apple-darwin24.0.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Undefined symbols for architecture arm64:
  "_CMSDecoderCopySignerTimestamp", referenced from:
      security_framework::cms::decoder::CMSDecoder::get_signer_timestamp::h5974aee7f87b900b in libapp.a[397](security_framework-da88d0519bb50a42.security_framework.66c9132394a49f5d-cgu.02.rcgu.o)
  "_CMSDecoderCopySignerTimestampCertificates", referenced from:
      security_framework::cms::decoder::CMSDecoder::get_signer_timestamp_certificates::hf327d2c00d247bdc in libapp.a[397](security_framework-da88d0519bb50a42.security_framework.66c9132394a49f5d-cgu.02.rcgu.o)
  "_CMSDecoderCopySignerTimestampWithPolicy", referenced from:
      security_framework::cms::decoder::CMSDecoder::get_signer_timestamp_with_policy::h56e708e547817c85 in libapp.a[397](security_framework-da88d0519bb50a42.security_framework.66c9132394a49f5d-cgu.02.rcgu.o)
  "_CMSEncoderCopySignerTimestamp", referenced from:
      security_framework::cms::encoder::CMSEncoder::get_signer_timestamp::h559e11f1beb52f77 in libapp.a[398](security_framework-da88d0519bb50a42.security_framework.66c9132394a49f5d-cgu.03.rcgu.o)
  "_CMSEncoderCopySignerTimestampWithPolicy", referenced from:
      security_framework::cms::encoder::CMSEncoder::get_signer_timestamp_with_policy::h2ac30f714dfbf753 in libapp.a[398](security_framework-da88d0519bb50a42.security_framework.66c9132394a49f5d-cgu.03.rcgu.o)
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
@rtmotiondev
Copy link
Author

It builds with keyring-rs 3.2.1 and security-framework 2.11.1. It seems security-framework 3.0.0 is broken for iOS.

@brotskydotcom
Copy link
Collaborator

Thanks for bringing this to my attention! I will revert the version of security-framework on iOS and make a new release ASAP.

@brotskydotcom
Copy link
Collaborator

Just released v3.5 which fixes this - I've confirmed by building in Xcode all the way back to iOS 15.2. Please comment here if you have issues with v3.5 - thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants