aws/s2n-quic

aarch64-apple-ios, x86_64-apple-ios and aarch64-apple-ios-sim support

danausx opened this issue · 2 comments

Problem:

I am unable to build for anything other than 86_64-apple-darwin on my macOS 86_64 machine with all tools installed as per the AWS Libcrypto for Rust User Guide.

if [[ "$PLATFORM_NAME" = "iphonesimulator" ]]; then
    TARGETS="aarch64-apple-ios-sim,x86_64-apple-ios"
else
    TARGETS="aarch64-apple-ios,x86_64-apple-ios"
fi

Are these platforms supported? Is aws-lc-rs a required dependency, or can s2n-quic be used with alternative cryptographic libraries? Having to dig deeper into the way this dependency works has been a bit confusing so far.

ld: in '/usr/local/opt/llvm/lib/libunwind.dylib', building for iOS-arm64 but attempting to link with file built for macOS-x86_64

If you could provide any insight or guidance on this matter, I'd really appreciate it. Let me know if you need more details or if there are any specific steps I should try.

Are these platforms supported?

The code in s2n-quic itself is quite portable. That being said, we do rely on other libraries to perform the cryptographic functions so we are as portable as those are.

Is aws-lc-rs a required dependency, or can s2n-quic be used with alternative cryptographic libraries?

It's not technically required, but there isn't currently another option that we support. Note that the latest version of rustls is now using aws-lc-rs by default.

Having to dig deeper into the way this dependency works has been a bit confusing so far.

I agree that it's not ideal. But s2n-quic doesn't aim to implement cryptographic primitives so this will always be the case, unfortunately. The place to improve this is in aws-lc-rs.

With the information you've shared, I'm not sure how to reproduce this on my end. I'll need every step you've taken to get this error and what you're trying to do.

Closing for now, feel free to reopen if you can provide the steps to reproduce this.