[swift-corelibs-dev] libdispatch on Linux, or C++ std::async?

Rob Allen rob at akrabat.com
Mon May 30 11:13:45 CDT 2016


The steps that I use are:

$ cd /vagrant
$ git clone --recursive -b experimental/foundation https://github.com/apple/swift-corelibs-libdispatch.git
$ cd swift-corelibs-libdispatch
$ sh ./autogen.sh
$ ./configure --with-swift-toolchain=/home/vagrant/swiftenv/versions/DEVELOPMENT-SNAPSHOT-2016-05-03-a/usr --prefix=/home/vagrant/swiftenv/versions/DEVELOPMENT-SNAPSHOT-2016-05-03-a/usr
$ make
$ make install



Regards,

Rob...

> On 30 May 2016, at 16:50, Brian Gesiak <modocache at gmail.com> wrote:
> 
> Thanks for the quick responses!
> 
> I had tried the experimental/foundation branch as well, with no luck. Here's the full output from a clean build I just attempted: https://gist.github.com/modocache/fcf0c78908b39834448c73ac3f50c110 <https://gist.github.com/modocache/fcf0c78908b39834448c73ac3f50c110>
> 
> Prior to the build I removed my entire build directory (which included both libdispatch-linux-x86_64 and swift-linux-x86_64) and removed all build artifacts from my libdispatch directory (I used `git clean -fxd` -- Make tells me there's no target `distclean`).
> 
> Looking at the build failure, it appears to be the same one that was reported in https://bugs.swift.org/browse/SR-1242 <https://bugs.swift.org/browse/SR-1242>. The author of that report indicates that https://github.com/apple/swift-corelibs-libdispatch/pull/64 <https://github.com/apple/swift-corelibs-libdispatch/pull/64> fixes the problem. My checkout includes the commits from that pull request, but the problem remains.
> 
> In any case, thanks for all your help! I'll keep trying. Any and all advice would be much appreciated!
> 
> - Brian Gesiak
> 
> 
> On Mon, May 30, 2016 at 10:22 AM, Chris Bailey <BAILEYC at uk.ibm.com <mailto:BAILEYC at uk.ibm.com>> wrote:
> I'd certainly recommend picking up the experimental/foundation branch as Rob recommends. Its where we've been doing some additional work to get properly built into the Swift toolchain and to open up some internal APIs needed by Foundation. 
> 
> Whilst I've been building Dispatch either independently or as part of a full toolchain using the buildbot_linux preset (with dispatch and install-dispatch added), I've just checked your build line and its working fine for me. It might be worth cleaning out any partial build you might have of libdispatch in your build directory, and running 'make distclean' from your libdispatch source directory. 
> 
> FYI, we've got some further changes to the experimental/foundation branch of libdispatch with should land in the next couple of days. This fixes some issues with the Swift overlay, and resolves a crash that we've found in the underlying libkqueue implementation. 
> 
> Chris
> 
> 
> 
> 
> From:        Rob Allen via swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> 
> To:        Brian Gesiak <modocache at gmail.com <mailto:modocache at gmail.com>> 
> Cc:        Swift Core Libs <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> 
> Date:        30/05/2016 08:08 
> Subject:        Re: [swift-corelibs-dev] libdispatch on Linux, or C++ std::async? 
> Sent by:        swift-corelibs-dev-bounces at swift.org <mailto:swift-corelibs-dev-bounces at swift.org> 
> 
> 
> 
> Hi, 
> 
> For what it's worth, I can't get the master branch to build either, but I can get the experimental/foundation branch to build. 
> 
> Regards, 
> 
> Rob.... 
> 
> 
> On 30 May 2016, at 05:28, Brian Gesiak via swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> wrote: 
> 
> Hello all! 
> 
> I'm working on https://bugs.swift.org/browse/SR-710 <https://bugs.swift.org/browse/SR-710>, which involves porting SourceKit to Linux. SourceKit contains a handful of references to libdispatch symbols.
> 
> I have two questions:
> 
> 1. Could someone share a set of instructions to build swift-corelibs-libdispatch on Linux? I'm using Ubuntu 15.10 and have installed [the dependencies listed here](https://lists.swift.org/pipermail/swift-corelibs-dev/Week-of-Mon-20151207/000122.html <https://lists.swift.org/pipermail/swift-corelibs-dev/Week-of-Mon-20151207/000122.html>). I have tried using both `swift/utils/build-script --libdispatch` as well as the instructions in the swift-corelibs-libdispatch `INSTALL` file. Both fail with the [same errors](https://gist.github.com/modocache/8389d5d64e39ca5a4281500f84e9ce11 <https://gist.github.com/modocache/8389d5d64e39ca5a4281500f84e9ce11>). Any tips? 
> 
> 2. I don't know much about C++, but from what I understand the C++ stdlib provides tools for asynchronous programming. I list SourceKit's uses of libdispatch in a comment on https://bugs.swift.org/browse/SR-1639 <https://bugs.swift.org/browse/SR-1639>. For those familiar with both C++ and libdispatch: do you think it's a good idea to migrate to C++, at least for now? 
> 
> Any advice would be appreciated. Thanks!! 
> 
> - Brian Gesiak 
> 
> 
> -- 
> Development thoughts at http://akrabat.com <http://akrabat.com/>
> Daily Jotter for Mac OS X at http://dailyjotter.com <http://dailyjotter.com/> 
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
> 
> 
> 

-- 
Development thoughts at http://akrabat.com
Daily Jotter for Mac OS X at http://dailyjotter.com

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


More information about the swift-corelibs-dev mailing list