When I was working this summer on getting SourceKit to build on Linux, one challenge I encountered with getting the build to work cleanly was that SourceKit is in the Swift repo, but it has a dependency on libdispatch. Moving the dispatch overlay code such that libdispatch could always be built before Swift would solve that problem nicely as well.
2016-09-25 12:26 GMT-07:00 Michael Gottesman via swift-dev < swift-...@swift.org>: > > On Sep 25, 2016, at 11:38 AM, David P Grove via swift-dev < > swift-...@swift.org> wrote: > > The order may need to vary by platform. On Linux, the DIspatch Swift > overlay code lives in swift-corelibs-libdispatch/src/swift. So it works > to build (1) Swift (2) libdispatch (both C and Swift) (3) Foundation. > > Question. Maybe the right thing to do is move the overlay even on OS X > into swift. (Just trying to ask obvious questions). > > > --dave > > <graycol.gif>Jordan Rose ---09/23/2016 06:34:46 PM---I think the right > order to build things is: 1. libdispatch (C) > > > From: Jordan Rose <jordan_r...@apple.com> > To: David P Grove/Watson/IBM@IBMUS > Cc: "Daniel A. Steffen" <dstef...@apple.com>, swift-dev < > swift-...@swift.org>, swift-corelibs-dev <swift-corelibs-dev@swift.org> > Date: 09/23/2016 06:34 PM > Subject: Re: [swift-dev] Swift CI PR builder dispatch linux failure > Sent by: jordan_r...@apple.com > > ------------------------------ > > > > I think the right order to build things is: > > 1. libdispatch (C) > 2. Swift (compiler + stdlib + Dispatch overlay) > 3. Foundation > > Otherwise we need to build Swift, then build libdispatch, then go back to > "Swift" to build the overlay, and only finally get to Foundation. > > Jordan > > > On Sep 23, 2016, at 14:32, David P Grove via swift-dev < > *swift-...@swift.org* <swift-...@swift.org>> wrote: > > I'm playing with something. Should have a PR ready shortly. > > --dave > > > <graycol.gif>"Daniel A. Steffen via swift-dev" ---09/23/2016 > 04:45:06 PM---I don’t know how these dependencies are expressed in CMake > but it doesn’t seem very difficult to do > > From: "Daniel A. Steffen via swift-dev" <*swift-...@swift.org* > <swift-...@swift.org>> > To: Ted Kremenek <*kreme...@apple.com* <kreme...@apple.com>> > Cc: swift-dev <*swift-...@swift.org* <swift-...@swift.org>> > Date: 09/23/2016 04:45 PM > Subject: Re: [swift-dev] Swift CI PR builder dispatch linux failure > Sent by: *swift-dev-boun...@swift.org* <swift-dev-boun...@swift.org> > > ------------------------------ > > > > I don’t know how these dependencies are expressed in CMake but it > doesn’t seem very difficult to do so in the autotools buildsystem, we > have > > AC_ARG_WITH([swift-toolchain], > [AS_HELP_STRING([--with-swift-toolchain], [Specify path to Swift > toolchain])], > [swift_toolchain_path=${withval} > AC_DEFINE(HAVE_SWIFT, 1, [Define if building for Swift]) > SWIFTC="$swift_toolchain_path/bin/swiftc” > > in configure.ac which ends up as a SWIFTC makefile variable, so as > long as that argument is passed as an absolute path, it should work as a > dependency in the build rules > > $(abs_builddir)/swift/%.o: $(abs_srcdir)/swift/%.swift > $(SWIFTC) -frontend -c $(SWIFT_ABS_SRC_FILES) -primary-file $< \ > > Is there a JIRA ticket for this ? the IBM folks should probably be > the ones making these changes since we still don’t have the whitelist in > place for Apple contributors to do so… > > Daniel > On Sep 23, 2016, at 13:00, Ted Kremenek <*kreme...@apple.com* > <kreme...@apple.com>> wrote: > > + Daniel > > * Daniel*: how hard would it be for the Dispatch project to be modified > to add the swiftc binary used to build the project as a > dependency? > On Sep 23, 2016, at 12:55 PM, Ted Kremenek via > swift-dev <*swift-...@swift.org* > <swift-...@swift.org>> wrote: > > Dispatch is a separate project. There isn’t > a dependency in the Dispatch project to tell it > is building with a new > compiler. The project would need to be modified > to add a dependency on the > swiftc binary being used to compile this > project. > On Sep 21, 2016, at 9:39 AM, Mishal Shah > via swift-dev < > *swift-...@swift.org* > <swift-...@swift.org>> wrote: > > We should look into why it's > not rebuilding dependencies. Do we > need to fix CMake logic? Can you please > file a bug? > > > Thanks, > Mishal Shah > > On Sep 21, 2016, at 9:28 AM, > Michael Gottesman < > *mgottes...@apple.com* > <mgottes...@apple.com>> wrote: > +CC Mishal > On Sep 21, 2016, > at 6:59 AM, > David P Grove via swift-dev < > > *swift-...@swift.org* > > <swift-...@swift.org>> > wrote: > > I don't > know how > the PR jobs are setup, but the error suggests that they are trying > to reuse > too much of the workspace of previous runs. > > <unknown>:0: > error: > module file was created by an older version of the compiler; rebuild > 'Dispatch' > and try again: /home/buildnode/jenkins/ > > workspace/swift-package- > > manager-PR-Linux/build/ > > buildbot_linux/libdispatch- > > linux-x86_64/src/swift/ > > Dispatch.o.~partial. > swiftmodule > > --dave > > > > > <graycol.gif>Ankit > Aggarwal > via swift-dev ---09/21/2016 03:08:58 AM---This has been > > consistently failing on PRs, can someone look into this: <unknown>:0: > error: > module fi > > From: Ankit > Aggarwal > via swift-dev < > > *swift-...@swift.org* > > <swift-...@swift.org> > > > To: > swift-dev > < > > *swift-...@swift.org* > > <swift-...@swift.org> > > > Date: > 09/21/2016 > 03:08 AM > Subject: > [swift-dev] > Swift CI PR > builder dispatch linux failure > Sent > by: > > *swift-dev-boun...@swift.org* > > <swift-dev-boun...@swift.org> > > > > > ------------------------------ > > > > This > has been > consistently failing on PRs, can someone look into this: > > <unknown>:0: > error: > module file was created by an older version of the compiler; rebuild > 'Dispatch' > and try again: /home/buildnode/jenkins/ > > workspace/swift-package- > > manager-PR-Linux/build/ > > buildbot_linux/libdispatch- > > linux-x86_64/src/swift/ > > Dispatch.o.~partial. > swiftmodule > make[2]: > *** > [/home/buildnode/jenkins/ > > workspace/swift-package- > > manager-PR-Linux/build/ > > buildbot_linux/libdispatch- > > linux-x86_64/src/swift/Dispatch.swiftmodule] > Error 1 > make[2]: > Leaving > directory `/home/buildnode/jenkins/ > > workspace/swift-package- > > manager-PR-Linux/build/ > > buildbot_linux/libdispatch- > > linux-x86_64/src' > make[1]: > *** [all] > Error 2 > make[1]: > Leaving > directory `/home/buildnode/jenkins/ > > workspace/swift-package- > > manager-PR-Linux/build/ > > buildbot_linux/libdispatch- > > linux-x86_64/src' > make: > *** > [all-recursive] Error 1 > > > /home/buildnode/jenkins/ > > workspace/swift-package- > > manager-PR-Linux/swift/utils/build-script: > fatal > error: command terminated with a non-zero exit status 2, aborting > > > /home/buildnode/jenkins/ > > workspace/swift-package- > > manager-PR-Linux/swift/utils/build-script: > fatal > error: command terminated with a non-zero exit status 1, aborting > > > *https://ci.swift.org/job/swift-package-manager-PR-Linux/497/console* > > <https://ci.swift.org/job/swift-package-manager-PR-Linux/497/console> > > - Ankit > [attachment > > "signature.asc" deleted by David P Grove/Watson/IBM] > > ______________________________ > > _________________ > swift-dev > mailing list > *swift-...@swift.org* <swift-...@swift.org> > *https://lists.swift.org/mailman/listinfo/swift-dev* > > <https://lists.swift.org/mailman/listinfo/swift-dev> > > > > > > ______________________________ > > _________________ > swift-dev > mailing list > *swift-...@swift.org* <swift-...@swift.org> > *https://lists.swift.org/mailman/listinfo/swift-dev* > > <https://lists.swift.org/mailman/listinfo/swift-dev> > > ______________________________ > _________________ > swift-dev mailing list > *swift-...@swift.org* <swift-...@swift.org> > *https://lists.swift.org/mailman/listinfo/swift-dev* > > <https://lists.swift.org/mailman/listinfo/swift-dev> > > ______________________________ > _________________ > swift-dev mailing list > *swift-...@swift.org* <swift-...@swift.org> > *https://lists.swift.org/mailman/listinfo/swift-dev* > > <https://lists.swift.org/mailman/listinfo/swift-dev> > _______________________________________________ > swift-dev mailing list > *swift-...@swift.org* <swift-...@swift.org> > *https://lists.swift.org/mailman/listinfo/swift-dev* > <https://lists.swift.org/mailman/listinfo/swift-dev> > > > > _______________________________________________ > swift-dev mailing list > *swift-...@swift.org* <swift-...@swift.org> > https://lists.swift.org/mailman/listinfo/swift-dev > > > > > _______________________________________________ > swift-dev mailing list > swift-...@swift.org > https://lists.swift.org/mailman/listinfo/swift-dev > > > > _______________________________________________ > swift-dev mailing list > swift-...@swift.org > https://lists.swift.org/mailman/listinfo/swift-dev > >
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev