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

Reply via email to