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
This seems to be related to the structure of the dispatch build system. It uses the host C++ compiler to link libdispatch, rather than swiftc -emit-library [1] and as such omits swiftCore (and swiftOnoneSupport in debug builds).
Hm, I though libdispatch.so deliberately only included the C stuff, and then there was still a separate libswiftDispatch.so. Am I misremembering? cc dgrove-oss (JIRA User)
On Linux there's currently no separate libswiftDispatch.so (but @compnerd and I are discussing on apple/swift#19640 (review) that there probably should be). But as released libdispatch.so depends on swiftCore without linking it.
I don't remember exactly why we did it this way. I vaguely remember there were some circular build dependencies because some step in building swiftCore actually depended on the C-level dispatch library. Maybe in the last two years that has been untangled (or the dependencies are more explicit, so understandable to CMake now that the build has switched to being driven by CMake)? phabouzit (JIRA User) might remember.
Environment
Swift 4.2-RELEASE
Ubuntu 14.04
Additional Detail from JIRA
md5: d0ae55b32dda9f738148fca4ddf298c6
Issue Description:
the libdispatch shared library shipped with swift-4.2-RELEASE references symbols defined by the swift runtime, for example:
However, it does not link to the swift runtime (we'd expect a NEEDED: libswiftCore.so) in this list:
This seems to be related to the structure of the dispatch build system. It uses the host C++ compiler to link libdispatch, rather than swiftc -emit-library [1] and as such omits swiftCore (and swiftOnoneSupport in debug builds).
[1] https://github.com/apple/swift-corelibs-libdispatch/blob/swift-4.2-RELEASE/src/CMakeLists.txt#L95
The text was updated successfully, but these errors were encountered: