<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="">On Sep 24, 2017, at 19:32, Saleem Abdulrasool <<a href="mailto:compnerd@compnerd.org" class="">compnerd@compnerd.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">On Sat, Sep 23, 2017 at 5:02 AM, David P Grove<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:groved@us.ibm.com" target="_blank" class="">groved@us.ibm.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; border-left-color: rgb(204, 204, 204); padding-left: 1ex;"><div class=""><p class=""><font size="2" class="">With autotools, the first time libdispatch was built (for SourceKit), it just did the C build of libdispatch. That had to be blown away and rebuilt a second time later (once swiftc, etc was available) so that we could build libdispatch.so with the Swift overlay built into it.</font><br class=""><br class=""><font size="2" class="">Did you manage to change this so that the first time libdispatch is built it has a swiftc and Swift standard library it can use for its build?</font></p></div></blockquote><div class=""><br class=""></div><div class="">Yeah, that double configuration should not be needed. I'll make that dependency more explicit and clean up some of the usage in the SourceKit case. But, there is no reason to do two different builds here. The only bits needed to build dispatch AFAICT, is the swift core library and the swift compiler. Even if the swift overlay is required, we can add that build ordering. The dispatch overlay is constructed in libdispatch itself. So, we can just order the compiler build to occur prior to the libdispatch build, which needs to be built before SourceKit.</div><div class=""><br class=""></div><div class="">Thanks for making me take a second look and notice that the explicit dependency is missing.</div><div class=""> </div></div></div></div></div></blockquote><br class=""></div><div>Thanks for looking into this, but I feel like the problem has to be something simpler. A completely clean build does this:</div><div><br class=""></div><div><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(77, 47, 45); background-color: rgb(223, 219, 195);" class=""><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">libdispatch: using gold linker</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">+ /usr/bin/cmake --build /home/jrose/public/build/Ninja-RelWithDebInfoAssert/libdispatch-linux-x86_64 -- -j24 all</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">[1/1] cd /home/jrose/public/build/Ninj...s-libdispatch/private/module.modulemap</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">foundation: using gold linker</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">+ pushd /home/jrose/public/swift-corelibs-foundation</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">~/public/swift-corelibs-foundation ~/public/swift</span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">+ env SWIFTC=/home/jrose/public/build/Ninja-RelWithDebInfoAssert/swift-linux-x86_64/bin/swiftc CLANG=/home/jrose/public/build/Ninja-RelWithDebInfoAssert/llvm-linux-x86_64/bin/clang SWIFT=/home/jrose/public/build/Ninja-RelWithDebInfoAssert/swift-linux-x86_64/bin/swift SDKROOT=/home/jrose/public/build/Ninja-RelWithDebInfoAssert/swift-linux-x86_64 BUILD_DIR=/home/jrose/public/build/Ninja-RelWithDebInfoAssert/foundation-linux-x86_64 DSTROOT=/ PREFIX=/usr/ ./configure RelWithDebInfo -DXCTEST_BUILD_DIR=/home/jrose/public/build/Ninja-RelWithDebInfoAssert/xctest-linux-x86_64 -DLIBDISPATCH_SOURCE_DIR=/home/jrose/public/swift-corelibs-libdispatch -DLIBDISPATCH_BUILD_DIR=/home/jrose/public/build/Ninja-RelWithDebInfoAssert/libdispatch-linux-x86_64</span></div></div></div><div class=""><br class=""></div><div class="">i.e. Dispatch isn't being built at all. This is on an Ubuntu 16.04 system with CMake 3.5.1. My build-script invocation isn't particularly complicated either, and doesn't seem different in any interesting way from what the buildbot is doing:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal; font-family: Menlo; color: rgb(77, 47, 45); background-color: rgb(223, 219, 195);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">utils/build-script -r -t --build-swift-static-stdlib --build-swift-dynamic-stdlib --libdispatch --foundation --xctest --skip-test-swift</span></div></div><div class=""><br class=""></div><div class="">Any ideas?</div><div class=""><br class=""></div><div class="">Jordan</div></body></html>