<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 &lt;<a href="mailto:compnerd@compnerd.org" class="">compnerd@compnerd.org</a>&gt; 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">&nbsp;</span><span dir="ltr" class="">&lt;<a href="mailto:groved@us.ibm.com" target="_blank" class="">groved@us.ibm.com</a>&gt;</span><span class="Apple-converted-space">&nbsp;</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.&nbsp; I'll make that dependency more explicit and clean up some of the usage in the SourceKit case.&nbsp; But, there is no reason to do two different builds here.&nbsp; The only bits needed to build dispatch AFAICT, is the swift core library and the swift compiler.&nbsp; Even if the swift overlay is required, we can add that build ordering.&nbsp; The dispatch overlay is constructed in libdispatch itself.&nbsp; 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="">&nbsp;</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>