You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux packages fail to build with LLVM 18 and Apple 2023 versions of clang (#7241)
Newer versions of clang add builtin modules for its C Standard Library
headers. This creates problems* when building with a single module map
that tries to absorb all of the OS/SDK dependencies, which is what all
non-Apple platforms currently do in SwiftPM.
This works for Swift targets because the Swift compiler injects module
maps via vfs for non-Apple platforms. However, clang doesn't do anything
similar for C-based targets, and so they fail to build.
For now, don't build with modules for any SwiftPM C-based targets on
non-Apple platforms.
\* Some problems are module cycles and headers being absorbed into
unexpected modules. clang modules generally expect that OS/SDK headers
are covered by module maps, and _not_ absorbed into whatever module
happens to include them first.
rdar://120716498
0 commit comments