New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SR-3751] libdispatch build script error on Linux (Gentoo and LFS) #701
Comments
Comment by Vladislav Dembskiy (JIRA) By the way, libevent is not listed as required dependency in the Swift README |
Comment by David Grove (JIRA) I think you forgot to do the git submodule steps needed when building libdispatch from source on Linux. See the instructions in INSTALL.md for building from source on Linux (quoted below): 2. Initialize git submodules. git submodule init |
Comment by Vladislav Dembskiy (JIRA) Thank you David, but it was mistake that I did not mentioned that it was during normatl build of Swift on Linux: I did not try to build libdispatch separatly. |
Comment by Vladislav Dembskiy (JIRA) Linux ved-hp-gentoo 4.4.39-gentoo #1 SMP Mon Dec 26 21:22:33 MSK 2016 x86_64 Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz GenuineIntel GNU/Linux |
Comment by David Grove (JIRA) Could you check to see if you have a properly checked-out libkqueue in swift-corelib-libdispatch/libkqueue (there should be files in the directory)? If the directory is empty, it means the submodule checkout didn't happen. When I use swift/utils/update-checkout --clone-with-ssh to clone all of the swift git repositories for a fresh checkout, it does the git submodule checkout correctly for libkqueue and libpwq, but maybe that didn't work for you for some reason. For example, if you did the git clones manually, you may have not given the right command line arguments to recurse into submodules. (%) ./utils/update-checkout --clone-with-ssh
|
Comment by Vladislav Dembskiy (JIRA) I usually do and during update-checkout I saw:
I just run fresh git clone and update-checkout and in the /mnt/swift/swift-source/swift-corelibs-libdispatch/libkqueue folder I see the following files: |
Comment by David Grove (JIRA) libdispatch building of embedded libkqueue was broken by an upstream change to libkqueue that I pulled into libdispatch last week without realizing all the implications. Submitted #207 to drop back to most recent libkqueue version that does not have the problematic change to the build system. |
Comment by David Grove (JIRA) PR 207 to revert back to an older version of libkqueue should fix this problem (it does for me). If not, let me know. |
Comment by Vladislav Dembskiy (JIRA) Hello David,
|
Comment by Vladislav Dembskiy (JIRA) Sorry. Incorrect place. |
Environment
Linux
Additional Detail from JIRA
md5: 94f55c4e7fb5077d3ade0240bbfb5576
relates to:
Issue Description:
I have got the same build errors on both Gentoo and Linux From Scratch (LFS):
In file included from /mnt/swift/swift-source/swift-corelibs-libdispatch/src/allocator.c:21:
/mnt/swift/swift-source/swift-corelibs-libdispatch/src/internal.h:246:10: fatal error: 'sys/event.h' file not found
If I am not mistaken the event.h header is part of libevent library. Both systems have libevent installed but the event.h file is located in /usr/include but not in /usr/include/sys. /usr/include is standard installation for libevent headers.
It looks like cmake is not checking location for required files.
The text was updated successfully, but these errors were encountered: