jacobdufault / cquery

C/C++ language server supporting multi-million line code base, powered by libclang. Emacs, Vim, VSCode, and others with language server protocol support. Cross references, completion, diagnostics, semantic highlighting and more
MIT License
2.35k stars 162 forks source link

20180718 build failure on OS X 10.11 #733

Open ilovezfs opened 6 years ago

ilovezfs commented 6 years ago

https://jenkins.brew.sh/job/Homebrew%20Core%20Pull%20Requests/27590/version=el_capitan/console

Started by upstream project "Homebrew Core Pull Requests" build number 27590
originally caused by:
 GitHub pull request #30256 of commit 0de356408a436fed61faec001e74f2cc768e4a7d, no merge conflicts.
[EnvInject] - Loading node environment variables.
Building remotely on el_capitan_stadium_2 (el_capitan macos) in workspace /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/Homebrew/homebrew-core/ # timeout=10
Fetching upstream changes from https://github.com/Homebrew/homebrew-core/
 > git --version # timeout=10
 > git fetch --tags --progress https://github.com/Homebrew/homebrew-core/ +refs/pull/*:refs/remotes/origin/pr/*
JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://wiki.jenkins-ci.org/display/JENKINS/Remove+Git+Plugin+BuildsByBranch+BuildData
Checking out Revision ba61bc5ba98c2eefe1e4bd7414f774e4661b864a (refs/remotes/origin/pr/30256/merge)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f ba61bc5ba98c2eefe1e4bd7414f774e4661b864a
Commit message: "Merge 0de356408a436fed61faec001e74f2cc768e4a7d into cc1bc87532e918d754b0884f0882dbe4f7b2b074"
First time build. Skipping changelog.
[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Injecting as environment variables the properties content 
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
HOMEBREW_DEVELOPER=1

[EnvInject] - Variables injected successfully.
[el_capitan] $ /bin/sh -xe /var/folders/kw/j7f63hdn1lj39702nh90xm9w0000gp/T/jenkins7561789525479455212.sh
+ GIT_WORK_TREE=/usr/local/Homebrew
+ GIT_DIR=/usr/local/Homebrew/.git
+ git reset --hard origin/master
HEAD is now at 00eca71 Merge pull request #4511 from reitermarkus/extract-nestedly-basename
+ brew update
Updated 1 tap (homebrew/core).
==> Updated Formulae
samtools
+ brew test-bot --ci-pr
Homebrew/homebrew-test-bot 275b884 (Merge pull request #167 from commitay/high-sierra)
ARGV: --ci-pr --cleanup --test-default-formula --local --junit
==> git -C homebrew/homebrew-core checkout origin/master
==> brew pull --clean https://github.com/Homebrew/homebrew-core/pull/30256
Homebrew/brew 1.7.0-46-g00eca71 (Merge pull request #4511 from reitermarkus/extract-nestedly-basename)
homebrew/core origin/master ea3fec6 (samtools: update 1.9 bottle.)
homebrew/core HEAD f34fa4b (cquery 20180718)
==> brew doctor
==> brew --env
==> brew config
==> brew readall --aliases homebrew/core
==> brew uses --recursive cquery
==> brew fetch --retry cquery --build-bottle --force
==> brew install --only-dependencies --verbose --build-bottle cquery
==> brew install --verbose --build-bottle cquery
==> FAILED
/usr/bin/sandbox-exec -f /private/tmp/homebrew20180719-17813-1l5d0f6.sb nice /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/bin/ruby -W0 -I /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/site_ruby/2.3.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/site_ruby/2.3.0/x86_64-darwin9.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/site_ruby/2.3.0/universal-darwin9.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/site_ruby:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/vendor_ruby/2.3.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/vendor_ruby/2.3.0/x86_64-darwin9.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/vendor_ruby/2.3.0/universal-darwin9.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/vendor_ruby:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/x86_64-darwin9.0:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/universal-darwin9.0:/usr/local/Homebrew/Library/Homebrew/cask/lib:/usr/local/Homebrew/Library/Homebrew -- /usr/local/Homebrew/Library/Homebrew/build.rb /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/cquery.rb --build-bottle --verbose
==> Cloning https://github.com/cquery-project/cquery.git
Updating /Users/brew/Library/Caches/Homebrew/cquery--git
git config remote.origin.url https://github.com/cquery-project/cquery.git
git config remote.origin.fetch +refs/tags/v20180718:refs/tags/v20180718
==> Checking out tag v20180718
git checkout -f v20180718 --
HEAD is now at b523aa9... Renamed GetFilesInFolder to GetFilesAndDirectoriesInFolder
git reset --hard v20180718
HEAD is now at b523aa9 Renamed GetFilesInFolder to GetFilesAndDirectoriesInFolder
git submodule foreach --recursive git submodule sync
Entering 'third_party/doctest'
Entering 'third_party/loguru'
Entering 'third_party/msgpack-c'
Synchronizing submodule url for 'external/boost/predef'
Synchronizing submodule url for 'external/boost/preprocessor'
Entering 'third_party/msgpack-c/external/boost/predef'
Entering 'third_party/msgpack-c/external/boost/preprocessor'
Entering 'third_party/pugixml'
Entering 'third_party/rapidjson'
Synchronizing submodule url for 'thirdparty/gtest'
Entering 'third_party/rapidjson/thirdparty/gtest'
Entering 'third_party/sparsepp'
git submodule update --init --recursive
==> ./waf configure --prefix=/usr/local/Cellar/cquery/20180718
### IMPORTANT ### 
The Waf build is deprecated and will be removed in the future. Build cquery with
CMake instead.
### IMPORTANT ###

Setting top to                           : /private/tmp/cquery-20180719-17815-1s9msa0 
Setting out to                           : /private/tmp/cquery-20180719-17815-1s9msa0/build 
Checking for 'clang++' (C++ compiler)    : clang++ 
Checking for header stdio.h              : yes 
Checking for clang
Downloading tarball
   destination: build/clang+llvm-6.0.0-x86_64-apple-darwin.tar.xz
   source:      http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-apple-darwin.tar.xz
Extracting build/clang+llvm-6.0.0-x86_64-apple-darwin.tar.xz
Checking for library clang               : yes 
Clang includes                           : ['/private/tmp/cquery-20180719-17815-1s9msa0/build/release/lib/clang+llvm-6.0.0-x86_64-apple-darwin/include'] 
Clang library dir                        : ['/private/tmp/cquery-20180719-17815-1s9msa0/build/release/lib/clang+llvm-6.0.0-x86_64-apple-darwin/lib'] 
'configure' finished successfully (36.775s)
==> ./waf build
### IMPORTANT ### 
The Waf build is deprecated and will be removed in the future. Build cquery with
CMake instead.
### IMPORTANT ###

Waf: Entering directory `/private/tmp/cquery-20180719-17815-1s9msa0/build/release'
[ 1/91] Compiling src/messages/workspace_execute_command.cc
[ 2/91] Compiling src/messages/cquery_did_view.cc
[ 3/91] Compiling src/file_consumer.cc
[ 4/91] Compiling src/clang_indexer.cc
[ 5/91] Compiling src/clang_complete.cc
[ 6/91] Compiling src/c_cpp_properties.cc
[ 7/91] Compiling src/include_complete.cc
[ 8/91] Compiling src/messages/text_document_completion.cc
[ 9/91] Compiling src/working_files.cc
[10/91] Compiling src/clang_utils.cc
[11/91] Compiling src/utils.cc
[12/91] Compiling src/messages/text_document_code_action.cc
[13/91] Compiling src/timestamp_manager.cc
[14/91] Compiling src/import_manager.cc
In file included from ../../src/import_manager.cc:1:
../../src/import_manager.h:30:8: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
  std::shared_timed_mutex dependency_mutex_;
       ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/shared_mutex:202:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^
In file included from ../../src/import_manager.cc:1:
../../src/import_manager.h:34:8: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
  std::shared_timed_mutex initial_import_mutex_;
       ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/shared_mutex:202:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^
../../src/import_manager.cc:6:27: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
    std::shared_lock<std::shared_timed_mutex> lock(initial_import_mutex_);
                          ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/shared_mutex:202:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^
../../src/import_manager.cc:13:27: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
    std::unique_lock<std::shared_timed_mutex> lock(initial_import_mutex_);
                          ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/shared_mutex:202:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^
../../src/import_manager.cc:21:27: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
    std::shared_lock<std::shared_timed_mutex> lock(dependency_mutex_);
                          ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/shared_mutex:202:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^
../../src/import_manager.cc:28:27: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
    std::unique_lock<std::shared_timed_mutex> lock(dependency_mutex_);
                          ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/shared_mutex:202:58: note: 'shared_timed_mutex' has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS _LIBCPP_AVAILABILITY_SHARED_MUTEX shared_timed_mutex
                                                         ^
6 errors generated.

Waf: Leaving directory `/private/tmp/cquery-20180719-17815-1s9msa0/build/release'
Build failed
 -> task in 'bin/cquery' failed with exit status 1 (run with -v to display more information)

==> Formula
Path: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/cquery.rb
==> Configuration
HOMEBREW_VERSION: 1.7.0-46-g00eca71
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 00eca7112a665d3b22c677a369cf42b0555ce56a
Last commit: 3 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: f34fa4bfe0e106d090ca93d6fae96633224ab6d7
Core tap last commit: 3 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CACHE: /Users/brew/Library/Caches/Homebrew
HOMEBREW_FAIL_LOG_LINES: 150
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_HOME: /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan/home
HOMEBREW_LOGS: /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan/logs
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
HOMEBREW_NO_AUTO_UPDATE: 1
HOMEBREW_NO_EMOJI: 1
CPU: quad-core 64-bit nehalem
Homebrew Ruby: 2.3.7 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/bin/ruby
Clang: 8.0 build 800
Git: 2.10.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.43.0 => /usr/bin/curl
Java: 10.0.1, 1.8.0_172
macOS: 10.11.6-x86_64
CLT: 8.2.0.0.1.1480973914
Xcode: 8.2.1
Error: cquery 20180718 did not build
XQuartz: 2.7.11 => /opt/X11
==> ENV
HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j4
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/10.11
PATH: /usr/local/Homebrew/Library/Homebrew/shims/mac/super:/usr/bin:/bin:/usr/sbin:/sbin

Logs:
     /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan/logs/cquery/00.options.out
     /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan/logs/cquery/01.waf
     /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan/logs/cquery/01.waf.cc
     /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan/logs/cquery/02.waf
     /Users/brew/Jenkins/workspace/Homebrew Core Pull Requests/version/el_capitan/logs/cquery/02.waf.cc
READ THIS: https://docs.brew.sh/Troubleshooting

These open issues may also help:
cquery 20180718 https://github.com/Homebrew/homebrew-core/pull/30256
==> brew audit cquery --online
==> brew style cquery
==> git -C homebrew/homebrew-core checkout master -f
==> brew cleanup --prune=7
Build step 'Execute shell' marked build as failure
Recording test results
Archiving artifacts
[WS-CLEANUP] Deleting project workspace...[WS-CLEANUP] done
Finished: FAILURE
jacobdufault commented 6 years ago

cquery requires c++14

jacobdufault commented 6 years ago

../../src/import_manager.cc:6:27: error: 'shared_timed_mutex' is unavailable: introduced in macOS 10.12

That is an unexpected error, but we can revert to a non-shared mutex though it will be slower.

wyuenho commented 6 years ago

There's a patch here, but I feel like it should be guarded by some CMake + preprocessor conditionals. See if you can do something about it?