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

Michael Gottesman mgottesman at apple.com
Mon Sep 26 17:26:50 CDT 2016


Well in that case, isn't the obvious answer to move the libdispatch linux overlay into the swift?

Michael

> On Sep 26, 2016, at 1:23 PM, Jordan Rose via swift-dev <swift-dev at swift.org> wrote:
> 
> The problem with moving the Darwin Dispatch overlay there is that other overlays depend on Dispatch, and we’re not ready to move those out somewhere else. That would compound this cross-repo dependency problem.
> 
> Jordan
> 
> 
>> On Sep 26, 2016, at 12:32, Daniel A. Steffen <dsteffen at apple.com <mailto:dsteffen at apple.com>> wrote:
>> 
>> this may be an unintended consequence of us putting the Linux overlay into the library repo (as opposed to the compiler repo).
>> 
>> I still think that is the right place for the overlay to live though, and that we should move the Darwin overlay there as well medium term (and work out any resulting build issues).
>> 
>> On both platforms we want to move towards a more integrated support for the Swift 3 interfaces directly from the library instead of the large overlay we have now.
>> 
>> Daniel
>> 
>>> On Sep 26, 2016, at 10:19, David P Grove via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>> 
>>> We think that the libdispatch incremental rebuilds didn't know that if swiftc changed it needed to invalidate the compilation of the swift dispatch overlay files (missing dependency in the make rule). A localized change that could be enough to fix the problem is libdispatch PR #178. If that isn't enough, we might have to do a more ambitious restructuring of the libdispatch build.
>>> 
>>> --dave
>>> 
>>> <graycol.gif>Jordan Rose ---09/26/2016 01:07:24 PM---Oh, I didn’t realize we had a separate copy of the overlay code (almost certainly the right thing to
>>> 
>>> From: Jordan Rose <jordan_rose at apple.com <mailto:jordan_rose at apple.com>>
>>> To: David P Grove/Watson/IBM at IBMUS
>>> Cc: "Daniel A. Steffen" <dsteffen at apple.com <mailto:dsteffen at apple.com>>, swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>>, swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>>
>>> Date: 09/26/2016 01:07 PM
>>> Subject: Re: [swift-dev] Swift CI PR builder dispatch linux failure
>>> Sent by: jordan_rose at apple.com <mailto:jordan_rose at apple.com>
>>> 
>>> 
>>> 
>>> Oh, I didn’t realize we had a separate copy of the overlay code (almost certainly the right thing to do at this point). But in that case, why are we seeing any of these errors?
>>> 
>>> Jordan
>>> On Sep 25, 2016, at 11:38, David P Grove <groved at us.ibm.com <mailto:groved at us.ibm.com>> 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. 
>>> 
>>> --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 <mailto:jordan_rose at apple.com>>
>>> To: David P Grove/Watson/IBM at IBMUS
>>> Cc: "Daniel A. Steffen" <dsteffen at apple.com <mailto:dsteffen at apple.com>>, swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>>, swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto: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 <mailto: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 <mailto: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 <mailto:swift-dev at swift.org>>
>>> To: Ted Kremenek <kremenek at apple.com <mailto:kremenek at apple.com>>
>>> Cc: swift-dev <swift-dev at swift.org <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto:swift-dev at swift.org>>
>>> To: swift-dev <swift-dev at swift.org <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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
> https://lists.swift.org/mailman/listinfo/swift-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20160926/b4b789d6/attachment.html>


More information about the swift-corelibs-dev mailing list