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

Install libc++ package on CI images of Ubuntu 24.04 #420

Merged
merged 1 commit into from
Nov 13, 2024

Conversation

egorzhdan
Copy link
Contributor

This adds a libc++-18-dev package to the list of packages installed on a CI image of Ubuntu 24.04.

Swift is now capable of compiling code that uses C++ interop with libc++ on Linux. Having the libc++ package installed provides us with CI coverage of the feature.

This is similar to #402.

@egorzhdan egorzhdan marked this pull request as ready for review October 7, 2024 22:03
@egorzhdan egorzhdan requested a review from shahmishal as a code owner October 7, 2024 22:03
@finagolfin
Copy link
Member

This will probably fail because of swiftlang/swift#76325, as I just tried building those new libc++ tests you added natively on Android with the libc++ 18 from Android NDK 27b and both failed.

You may have to stick with libc++ 16 until that problem is fixed.

@egorzhdan
Copy link
Contributor Author

I haven't been able to reproduce the libc++ issue you're seeing. I tried both macOS and Linux. I suspect this is something Android-specific.

@finagolfin
Copy link
Member

OK, good that it works for you on linux/mac, but I don't see how it could be Android-specific when it just uses the same libc++ and accompanying C++ module map pretty much, while the failing header is in libc++ itself.

I need to look into those C++ Interop tests that also fail on Android with this libc++ 17 re-org, so I will do some digging.

This adds a `libc++-18-dev` package to the list of packages installed on a CI image of Ubuntu 24.04.

Swift is now capable of compiling code that uses C++ interop with libc++ on Linux. Having the libc++ package installed provides us with CI coverage of the feature.

This is similar to swiftlang#402.
@egorzhdan
Copy link
Contributor Author

@finagolfin we aren't building the compiler with libc++ on Linux, we're only testing it with libc++, so there isn't a risk of the failure you were seeing from this patch.

@finagolfin
Copy link
Member

Sure, but my subsequent point in this thread stands that these new libc++ tests of yours in the compiler validation suite failed natively on Android with its libc++ 18, which isn't very different from the libc++ package on linux that you're adding here.

I'm not saying don't merge this, as it's certainly possible I'm seeing failures specific to Android somehow, just warning you that's what I saw on another non-CI platform and I'm trying to figure out what might be going wrong.

If you're confident this will work well for linux, don't worry about Android. I will look into those Android failures later and report back.

@shahmishal shahmishal merged commit 258a53f into swiftlang:main Nov 13, 2024
1 check passed
@egorzhdan egorzhdan deleted the libcxx-ubuntu-2404 branch November 14, 2024 12:27
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 this pull request may close these issues.

4 participants