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
[SR-5059] static_assert failed "__swift_ssize_t must be defined as equivalent to ssize_t #47635
Comments
Comment by Amr Aboelela (JIRA) Full error is: |
Comment by Amr Aboelela (JIRA) @milseman I suspect it is the change we made in LibcShims.h: #if defined(linux) && defined (arm) && !defined(ANDROID) So now I am trying it like this: #if defined(linux) && defined (arm) //&& !defined(ANDROID) |
Comment by Amr Aboelela (JIRA) Removing && !defined(ANDROID_) seems to be working fine. Should I create a PR with this change? |
Comment by Amr Aboelela (JIRA) Yes I confirm, it now builds correctly. |
I'm a little confused. What changed here that caused the breakage? I know we were careful about defining pthread_key_t earlier, but not sure why that would affect ssize_t. |
Comment by Amr Aboelela (JIRA) Remember, we changed 2 lines, I am talking here about line 36 it used to be like this: all small letters, and because they use all caps, so ![](defined(android) was returning true. But now as we use all caps, )defined(ANDROID) is returning false for Android environment. |
I see, so it was a bug in the original guard, that is Android platform was not defining the lower case variant? Do you have a PR? |
Comment by Amr Aboelela (JIRA) Not yet, do you want me to change it to: #if defined(_linux) && defined (arm) i.e. removing the && !defined(ANDROID_) part |
Yes, if that works. |
Comment by Amr Aboelela (JIRA) This PR got merged so I am closing this issue. |
Additional Detail from JIRA
md5: 12f8136c165bad62b586a61dda0d51d9
Issue Description:
This happens when running
./utils/build-script \
-R \
--android \
--android-ndk "${ANDROID_NDK_DIR}" \
--android-api-level 21 \
--android-icu-uc "${ANDROID_ICU_DIR}/armeabi-v7a" \
--android-icu-uc-include "${ANDROID_ICU_DIR}/armeabi-v7a/icu/source/common" \
--android-icu-i18n "${ANDROID_ICU_DIR}/armeabi-v7a" \
--android-icu-i18n-include "${ANDROID_ICU_DIR}/armeabi-v7a/icu/source/i18n"
The text was updated successfully, but these errors were encountered: