[swift-dev] Swift CI PR builder dispatch linux failure

Brian Croom brian.s.croom at gmail.com
Mon Sep 26 12:31:34 CDT 2016


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-dev at swift.org>:

>
> On Sep 25, 2016, at 11:38 AM, David P Grove via swift-dev <
> swift-dev at 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_rose at apple.com>
> To: David P Grove/Watson/IBM at IBMUS
> Cc: "Daniel A. Steffen" <dsteffen at apple.com>, swift-dev <
> swift-dev at swift.org>, swift-corelibs-dev <swift-corelibs-dev at swift.org>
> Date: 09/23/2016 06:34 PM
> Subject: Re: [swift-dev] Swift CI PR builder dispatch linux failure
> Sent by: jordan_rose at 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-dev at swift.org* <swift-dev at 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-dev at swift.org*
>       <swift-dev at swift.org>>
>       To: Ted Kremenek <*kremenek at apple.com* <kremenek at apple.com>>
>       Cc: swift-dev <*swift-dev at swift.org* <swift-dev at swift.org>>
>       Date: 09/23/2016 04:45 PM
>       Subject: Re: [swift-dev] Swift CI PR builder dispatch linux failure
>       Sent by: *swift-dev-bounces at swift.org* <swift-dev-bounces at 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 <*kremenek at apple.com*
>                   <kremenek at 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-dev at swift.org*
>                               <swift-dev at 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-dev at swift.org*
>                                           <swift-dev at 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 <
>                                           *mgottesman at apple.com*
>                                           <mgottesman at apple.com>> wrote:
>                                              +CC Mishal
>                                                          On Sep 21, 2016,
>                                                                   at 6:59 AM, David P Grove via swift-dev <
>                                                                   *swift-dev at swift.org*
>                                                                   <swift-dev at 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-dev at swift.org*
>                                                                   <swift-dev at swift.org>
>                                                                   >
>                                                                   To: swift-dev
>                                                                   <
>                                                                   *swift-dev at swift.org*
>                                                                   <swift-dev at swift.org>
>                                                                   >
>                                                                   Date: 09/21/2016
>                                                                   03:08 AM
>                                                                   Subject:
>                                                                   [swift-dev]
>                                                                   Swift CI PR builder dispatch linux failure
>                                                                   Sent
>                                                                   by:
>                                                                   *swift-dev-bounces at swift.org*
>                                                                   <swift-dev-bounces at 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-dev at swift.org* <swift-dev at swift.org>
> *https://lists.swift.org/mailman/listinfo/swift-dev*
>                                                                   <https://lists.swift.org/mailman/listinfo/swift-dev>
>
>
>
>
>                                                                   ______________________________
>                                                                   _________________
>                                                                   swift-dev
>                                                                   mailing list
> *swift-dev at swift.org* <swift-dev at swift.org>
> *https://lists.swift.org/mailman/listinfo/swift-dev*
>                                                                   <https://lists.swift.org/mailman/listinfo/swift-dev>
>
>                                           ______________________________
>                                           _________________
>                                           swift-dev mailing list
> *swift-dev at swift.org* <swift-dev at swift.org>
> *https://lists.swift.org/mailman/listinfo/swift-dev*
>                                           <https://lists.swift.org/mailman/listinfo/swift-dev>
>
>                               ______________________________
>                               _________________
>                               swift-dev mailing list
> *swift-dev at swift.org* <swift-dev at swift.org>
> *https://lists.swift.org/mailman/listinfo/swift-dev*
>                               <https://lists.swift.org/mailman/listinfo/swift-dev>
>                            _______________________________________________
>       swift-dev mailing list
> *swift-dev at swift.org* <swift-dev at swift.org>
> *https://lists.swift.org/mailman/listinfo/swift-dev*
>       <https://lists.swift.org/mailman/listinfo/swift-dev>
>
>
>
>       _______________________________________________
>       swift-dev mailing list
> *swift-dev at swift.org* <swift-dev at swift.org>
>       https://lists.swift.org/mailman/listinfo/swift-dev
>
>
>
>
> _______________________________________________
> swift-dev mailing list
> swift-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev
>
>
>
> _______________________________________________
> swift-dev mailing list
> swift-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160926/44c69c74/attachment.html>


More information about the swift-dev mailing list