-
Notifications
You must be signed in to change notification settings - Fork 12
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
S2N prevents building on Linux #163
Comments
Hi, Thank you for creating the issue. I have tried it on both Amazon Linux 2 and Ubuntu 22.04 but could not reproduce the issue. It works fine for both. Could you please try cloning it again and building it? Also, you will need to install OpenSSL, please do the following. For Ubuntu:
For Amazon Linux 2:
|
Hi, git clone --recurse https://github.com/awslabs/aws-crt-swift.git
cd aws-crt-swift
podman run -it --rm --volume "$(pwd)/:/src" --workdir "/src/" swift:5.7-amazonlinux2 swift build I cannot reproduce if I clone the repository in the container. |
Hi, Thank you for your answer. I have tried using both podman and docker to mount the source code, and I am able to do so without encountering any build issues. Could you please try cloning the repository again on the host to see if that resolves the problem? Thank you. |
Hi, I cloned again the repository (now on commit I've tried again on my machine (macOS 13.2.1 on Apple Silicon M1 Pro), and on another Mac (macOS 13.0.1, Intel), both with podman version 4.4.1 with vm Fedora CoreOS 37.X, unsuccessfully. I've also tried with various versions of the container image |
Thank you for the response. Can you please explain a bit more about the steps that you are taking to encounter this issue, or what am I missing below?
|
The main and only notable difference between your steps and mine is that you are using AL2 or Ubuntu as host, and I'm using macOS. But I finally found out the cause of my issue: my file system is case-insensitive 😠. This is due to this code in SPM: let umbrellaHeader = publicHeadersDir.appending(component: moduleName + ".h")
if fileSystem.isFile(umbrellaHeader) {
// In this case, 'PublicHeadersDir' is expected to contain no subdirectories.
if directories.count != 0 {
diagnosticsEmitter.emit(.umbrellaHeaderHasSiblingDirectories(targetName: targetName, umbrellaHeader: umbrellaHeader, siblingDirs: directories))
return .none
}
return .umbrellaHeader(umbrellaHeader)
} SPM will look for the |
Thank you, that's great debugging! I was able to successfully reproduce the issue, and I'm currently looking into possible solutions. |
Hi, we have fixed this issue in 0.12.0 release. Please feel free to reopen the issue if it still exists. |
FYI I was able to verify that this issue is fixed when I use 0.12.0 in AWS SDK for Swift |
Describe the bug
Building on Linux distro throw an error caused by
aws-common-runtime/s2n
submodule.This error does not occur on macOS.
Expected Behavior
Building should be successful on Linux distro
Current Behavior
Reproduction Steps
On Linux distro, clone project with submodule:
Build project:
Possible Solution
No response
Additional Information/Context
S2N submodule version: v1.3.35
AWS CRT SWIFT version used
0.6.1
Compiler and Version used
Swift 5.7
Operating System and version
Amazon Linux 2 (4.14), Ubuntu 22.04
The text was updated successfully, but these errors were encountered: