<html><body><p><tt>swift-dev-bounces@swift.org wrote on 09/14/2016 01:34:10 PM:<br>&gt; <br>&gt; I'm trying to build Swift 3 for Fedora 24. Fedora doesn't come with <br>&gt; libkqueue so I built and installed that manually into <br>&gt; /usr/(include|lib). Building libdispatch as part of the build script <br>&gt; fails when trying to build the tests in swift-corelibs-libdispatch/tests <br>&gt; because it can't find kqueue and kevent. If I modify the Makefile to <br>&gt; include -lkqueue after -lpthread, it builds fine, but running the build <br>&gt; script again (swift/util/build-script) complains about the directory not <br>&gt; being clean.<br>&gt; <br>&gt; What I'd like to do (I think) is modify ... something ... to make sure <br>&gt; the Makefile in the tests directory includes kqueue; I've been diving <br>&gt; into the build-settings.ini, as well as the various scripts, but CMake <br>&gt; and Ninja are new to me and I'm a little flummoxed about what to modify <br>&gt; (and hopefully bubble those changes up to a buildbot_linux_fedora or <br>&gt; something like that). I've been poking around the various scripts (the <br>&gt; most promising was the LIBDISPATCH_BUILD_ARGS in build-script-impl, but <br>&gt; adding -lkqueue doesn't seem to have any effect).<br>&gt; <br>&gt; So if somebody could give me a pointer (so to speak) about where to <br>&gt; look, I'd greatly appreciate it.<br>&gt; <br></tt><br><tt>Hi Ron,</tt><br><br><tt>        The libdispatch build attempts to statically embed the right version of libkqueue into libdispatch when you build from source. &nbsp;As part of porting libdispatch to Linux, we contributed bugfixes and extensions to libkqueue that libdispatch requires.</tt><br><br><tt>        If you are building libdispatch from a git clone, if you do &quot;git submodule init; git submodule update&quot; in swift-corelibs-libdispatch before you do the build it will get you the right version of libkqueue and libpwq sources and the build should &quot;just work&quot;.</tt><br><br><tt>        There are more details in the INSTALL.md file (see the Building on Linux section). </tt><br><br><br><tt>Hope that helps,</tt><br><br><tt>--dave</tt><br><BR>
</body></html>