Skip to content
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

llvm: build with Ninja instead of GNU Make #35562

Closed
wants to merge 1 commit into from

Conversation

goxberry
Copy link
Contributor

Fixes #35513. This commit adds Ninja as a build dependency, and
replaces the CMake Unix Makefiles generator/GNU Make build toolchain
with a CMake Ninja generator/Ninja toolchain.

An alternative fix proposed by @fxcoudert and tested by @ducky427
involves leaving the build toolchain as-is and setting the
HOMEBREW_MAKE_JOBS shell environment variable to 1. This approach
does not introduce an additional build dependency, but is likely to
slow down a build from source significantly compared to the approach
implemented in this commit (all other things equal) because Ninja is
generally a faster build system, and the Ninja-based build system can
use all system cores versus using a single core in the Make-based
approach.

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

The build does not yet pass brew audit --strict llvm; the error message follows below. My impression from the diff in this PR is that the current LLVM formula version in master would also exhibit this failure, if it were to build via brew install llvm --with-lldb on macOS 10.14.2 (and possibly other macOS versions).

Error: 1 problem in 1 formula detected
llvm:
  * python modules have explicit framework links
    These python extension modules were linked directly to a Python
    framework binary. They should be linked with -undefined dynamic_lookup
    instead of -lpython or -framework Python.
      /usr/local/opt/llvm/lib/python2.7/site-packages/lldb/_lldb.so

Fixes Homebrew#35513. This commit adds Ninja as a build dependency, and
replaces the CMake Unix Makefiles generator/GNU Make build toolchain
with a CMake Ninja generator/Ninja toolchain.

An alternative fix proposed by @fxcoudert and tested by @ducky427
involves leaving the build toolchain as-is and setting the
`HOMEBREW_MAKE_JOBS` shell environment variable to `1`. This approach
does not introduce an additional build dependency, but is likely to
slow down a build from source significantly compared to the approach
implemented in this commit (all other things equal) because Ninja is
generally a faster build system, and the Ninja-based build system can
use all system cores versus using a single core in the Make-based
approach.
@fxcoudert
Copy link
Member

Seems like a reasonable option, and good way to fix #35513. Thanks @goxberry!

@fxcoudert fxcoudert closed this in f37f92a Dec 31, 2018
@lembacon
Copy link
Member

Sizes of bottles get some significant increases.

For example,

compress Mojave bottle tarball: was 868.1MB, is 2.2GB
decompressed Mojave bottle cellar: was 2.8GB, is 8.8GB

🤯

@lembacon
Copy link
Member

Cannot figure out what is going here, @goxberry can you please take a look? Thanks!

@fxcoudert
Copy link
Member

Maybe a hardlink vs. copy issue? Do you think it's worth reverting? 8.8 GB on disk is way too big.

@fxcoudert
Copy link
Member

I had rejected an earlier PR #34691 and noted at the time that building with Ninja is marked in the doc (https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) as experimental.

@lembacon
Copy link
Member

lembacon commented Jan 1, 2019

I would say reverting this, giving that using the ninja build system is still experimental even for the trunk version, and it seems that building ninja from HEAD is also required.

@goxberry
Copy link
Contributor Author

goxberry commented Jan 1, 2019 via email

@goxberry
Copy link
Contributor Author

goxberry commented Jan 1, 2019

In the course of diagnosing the large bottle size, I tried building from source on macOS 10.13.6 twice, first using Ninja, then using GNU Make (reverting f37f92a), and get the same error with both; a log is attached below. I'm wondering if this issue could be related to #31679, because I'm using XCode 10, but CMake fails to detect the correct XCode version.

/usr/bin/sandbox-exec -f /private/tmp/homebrew20190101-39442-1j7cylr.sb nice /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -W0 -I /usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/ruby-macho-2.1.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/rubocop-rspec-1.30.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/rubocop-0.61.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/unicode-display_width-1.4.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/ruby-progressbar-1.10.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/rainbow-3.0.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/powerpack-0.1.2/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/plist-3.5.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/parser-2.5.3.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/parallel-1.12.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/jaro_winkler-1.5.1/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/extensions/universal-darwin-18/2.3.0/jaro_winkler-1.5.1:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/backports-3.11.4/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/ast-2.4.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/activesupport-5.2.2/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/tzinfo-1.2.5/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/thread_safe-0.3.6/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/minitest-5.11.3/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/i18n-1.3.0/lib:/usr/local/Homebrew/Library/Homebrew/vendor/bundle-standalone/bundler/../ruby/2.3.0/gems/concurrent-ruby-1.1.4/lib:/Library/Ruby/Gems/2.3.0/gems/did_you_mean-1.0.0/lib:/Library/Ruby/Site/2.3.0:/Library/Ruby/Site/2.3.0/x86_64-darwin17:/Library/Ruby/Site/2.3.0/universal-darwin17:/Library/Ruby/Site:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0/x86_64-darwin17:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby/2.3.0/universal-darwin17:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/vendor_ruby:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/x86_64-darwin17:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/universal-darwin17:/usr/local/Homebrew/Library/Homebrew -- /usr/local/Homebrew/Library/Homebrew/build.rb /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/llvm.rb --verbose
==> Downloading https://releases.llvm.org/7.0.1/llvm-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/deef0de57101b23ba53aba53b9b7a08ea1b48cfd5e538dd34119e24f9d8ed6e0--llvm-7.0.1.src.tar.xz
==> Verifying deef0de57101b23ba53aba53b9b7a08ea1b48cfd5e538dd34119e24f9d8ed6e0--llvm-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/deef0de57101b23ba53aba53b9b7a08ea1b48cfd5e538dd34119e24f9d8ed6e0--llvm-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-bnprzv
cp -pR /private/tmp/d20190101-39443-bnprzv/llvm-7.0.1.src/. /private/tmp/llvm-20190101-39443-vr06cl/llvm-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-bnprzv
==> Downloading https://releases.llvm.org/7.0.1/cfe-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/e88421c4653fa9f4ffce3393a1f6d5142d07908c95d1f75a773666512dbe373b--cfe-7.0.1.src.tar.xz
==> Verifying e88421c4653fa9f4ffce3393a1f6d5142d07908c95d1f75a773666512dbe373b--cfe-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/e88421c4653fa9f4ffce3393a1f6d5142d07908c95d1f75a773666512dbe373b--cfe-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-1xl4y4x
cp -pR /private/tmp/d20190101-39443-1xl4y4x/cfe-7.0.1.src/. /private/tmp/llvm--clang-20190101-39443-1amyhpp/cfe-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-1xl4y4x
==> Downloading https://releases.llvm.org/7.0.1/clang-tools-extra-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/c055cc8e0627d814063653c11d38b48b74bc35a0b0d39dbf7c65c1972b9c22ee--clang-tools-extra-7.0.1.src.tar.xz
==> Verifying c055cc8e0627d814063653c11d38b48b74bc35a0b0d39dbf7c65c1972b9c22ee--clang-tools-extra-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/c055cc8e0627d814063653c11d38b48b74bc35a0b0d39dbf7c65c1972b9c22ee--clang-tools-extra-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-1nb9yl5
cp -pR /private/tmp/d20190101-39443-1nb9yl5/clang-tools-extra-7.0.1.src/. /private/tmp/llvm--clang-extra-tools-20190101-39443-rocho4/clang-tools-extra-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-1nb9yl5
==> Downloading https://releases.llvm.org/7.0.1/openmp-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/430346c8a0cf1ec6fc94c92b21b0fc3aa2aa857e5731e4208fd8e72859db0222--openmp-7.0.1.src.tar.xz
==> Verifying 430346c8a0cf1ec6fc94c92b21b0fc3aa2aa857e5731e4208fd8e72859db0222--openmp-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/430346c8a0cf1ec6fc94c92b21b0fc3aa2aa857e5731e4208fd8e72859db0222--openmp-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-1iumeo1
cp -pR /private/tmp/d20190101-39443-1iumeo1/openmp-7.0.1.src/. /private/tmp/llvm--openmp-20190101-39443-7bk1m5/openmp-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-1iumeo1
==> Downloading https://releases.llvm.org/7.0.1/libcxx-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/0d33e60b8ed8825cb5a22aab98781fafbe296a8bbb8d96df536e794d170cb6e4--libcxx-7.0.1.src.tar.xz
==> Verifying 0d33e60b8ed8825cb5a22aab98781fafbe296a8bbb8d96df536e794d170cb6e4--libcxx-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/0d33e60b8ed8825cb5a22aab98781fafbe296a8bbb8d96df536e794d170cb6e4--libcxx-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-1u81a06
cp -pR /private/tmp/d20190101-39443-1u81a06/libcxx-7.0.1.src/. /private/tmp/llvm--libcxx-20190101-39443-elvz2n/libcxx-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-1u81a06
==> Downloading https://releases.llvm.org/7.0.1/libunwind-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/a1fbaf33a6a9d1b1707d9dfd204a320e91e4196f5e0e137986b83dfb06fbc8d0--libunwind-7.0.1.src.tar.xz
==> Verifying a1fbaf33a6a9d1b1707d9dfd204a320e91e4196f5e0e137986b83dfb06fbc8d0--libunwind-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/a1fbaf33a6a9d1b1707d9dfd204a320e91e4196f5e0e137986b83dfb06fbc8d0--libunwind-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-c7ezwo
cp -pR /private/tmp/d20190101-39443-c7ezwo/libunwind-7.0.1.src/. /private/tmp/llvm--libunwind-20190101-39443-100xgm/libunwind-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-c7ezwo
==> Downloading https://releases.llvm.org/7.0.1/lld-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/28d82806d84a7bbd190fe047904a84918fb8a67efb334b465d683f658a0546f4--lld-7.0.1.src.tar.xz
==> Verifying 28d82806d84a7bbd190fe047904a84918fb8a67efb334b465d683f658a0546f4--lld-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/28d82806d84a7bbd190fe047904a84918fb8a67efb334b465d683f658a0546f4--lld-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-a228xl
cp -pR /private/tmp/d20190101-39443-a228xl/lld-7.0.1.src/. /private/tmp/llvm--lld-20190101-39443-ur4joz/lld-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-a228xl
==> Downloading https://releases.llvm.org/7.0.1/polly-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/537fd9fbe4f65f37591471e0ad84cb8c02bcbb00b9758b4395bec8facbdfeb3c--polly-7.0.1.src.tar.xz
==> Verifying 537fd9fbe4f65f37591471e0ad84cb8c02bcbb00b9758b4395bec8facbdfeb3c--polly-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/537fd9fbe4f65f37591471e0ad84cb8c02bcbb00b9758b4395bec8facbdfeb3c--polly-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-1kfbnkm
cp -pR /private/tmp/d20190101-39443-1kfbnkm/polly-7.0.1.src/. /private/tmp/llvm--polly-20190101-39443-z73tkf/polly-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-1kfbnkm
==> Downloading https://releases.llvm.org/7.0.1/compiler-rt-7.0.1.src.tar.xz
Already downloaded: /Users/goxberry/Library/Caches/Homebrew/downloads/a82ca2001daf97c74990a94300ccefa01e18013f3a7d33e45b37eb029aaec817--compiler-rt-7.0.1.src.tar.xz
==> Verifying a82ca2001daf97c74990a94300ccefa01e18013f3a7d33e45b37eb029aaec817--compiler-rt-7.0.1.src.tar.xz checksum
tar xf /Users/goxberry/Library/Caches/Homebrew/downloads/a82ca2001daf97c74990a94300ccefa01e18013f3a7d33e45b37eb029aaec817--compiler-rt-7.0.1.src.tar.xz -C /private/tmp/d20190101-39443-7yt1bq
cp -pR /private/tmp/d20190101-39443-7yt1bq/compiler-rt-7.0.1.src/. /private/tmp/llvm--compiler-rt-20190101-39443-1r8v31o/compiler-rt-7.0.1.src
chmod -Rf +w /private/tmp/d20190101-39443-7yt1bq
==> cmake -G Unix Makefiles .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/llvm/7.0.1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DLIBOMP_ARCH=x86_64 -DLINK_POLLY_INTO_TOOLS=ON -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_FFI=ON -DLLVM_ENABLE_LIBCXX=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INSTALL_UTILS=ON -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_TARGETS_TO_BUILD=all -DWITH_POLLY=ON -DFFI_INCLUDE_DIR=/usr/local/opt/libffi/lib/libffi-3.2.1/include -DFFI_LIBRARY_DIR=/usr/local/opt/libffi/lib -DLLVM_CREATE_XCODE_TOOLCHAIN=ON
-- The C compiler identification is AppleClang 10.0.0.10001044
-- The CXX compiler identification is AppleClang 10.0.0.10001044
-- The ASM compiler identification is AppleClang
-- Found assembler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang
-- Check for working C compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang
-- Check for working C compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++
-- Check for working CXX compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found libtool - /Library/Developer/CommandLineTools/usr/bin/libtool
-- Performing Test CXX_COMPILER_SUPPORTS_STDLIB
-- Performing Test CXX_COMPILER_SUPPORTS_STDLIB - Success
-- Performing Test CXX_LINKER_SUPPORTS_STDLIB
-- Performing Test CXX_LINKER_SUPPORTS_STDLIB - Success
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for link.h
-- Looking for link.h - not found
-- Looking for malloc.h
-- Looking for malloc.h - not found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sys/param.h
-- Looking for sys/param.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for termios.h
-- Looking for termios.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - not found
-- Looking for zlib.h
-- Looking for zlib.h - found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for FE_ALL_EXCEPT
-- Looking for FE_ALL_EXCEPT - found
-- Looking for FE_INEXACT
-- Looking for FE_INEXACT - found
-- Looking for mach/mach.h
-- Looking for mach/mach.h - found
-- Looking for histedit.h
-- Looking for histedit.h - found
-- Looking for CrashReporterClient.h
-- Looking for CrashReporterClient.h - not found
-- Performing Test HAVE_CRASHREPORTER_INFO
-- Performing Test HAVE_CRASHREPORTER_INFO - Success
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for pthread_getspecific in pthread
-- Looking for pthread_getspecific in pthread - found
-- Looking for pthread_rwlock_init in pthread
-- Looking for pthread_rwlock_init in pthread - found
-- Looking for pthread_mutex_lock in pthread
-- Looking for pthread_mutex_lock in pthread - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for pfm_initialize in pfm
-- Looking for pfm_initialize in pfm - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
-- Looking for compress2 in z
-- Looking for compress2 in z - found
-- Looking for el_init in edit
-- Looking for el_init in edit - found
-- Looking for setupterm in tinfo
-- Looking for setupterm in tinfo - not found
-- Looking for setupterm in terminfo
-- Looking for setupterm in terminfo - not found
-- Looking for setupterm in curses
-- Looking for setupterm in curses - found
-- Found LibXml2: /usr/lib/libxml2.dylib (found version "2.9.4") 
-- Looking for xar_open in xar
-- Looking for xar_open in xar - found
-- Looking for arc4random
-- Looking for arc4random - found
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include  
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success
-- Looking for _Unwind_Backtrace
-- Looking for _Unwind_Backtrace - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for sysconf
-- Looking for sysconf - found
-- Looking for getrusage
-- Looking for getrusage - found
-- Looking for setrlimit
-- Looking for setrlimit - found
-- Looking for isatty
-- Looking for isatty - found
-- Looking for futimens
-- Looking for futimens - found
-- Looking for futimes
-- Looking for futimes - found
-- Looking for posix_fallocate
-- Looking for posix_fallocate - not found
-- Looking for lseek64
-- Looking for lseek64 - not found
-- Looking for mallctl
-- Looking for mallctl - not found
-- Looking for mallinfo
-- Looking for mallinfo - not found
-- Looking for malloc_zone_statistics
-- Looking for malloc_zone_statistics - found
-- Looking for getrlimit
-- Looking for getrlimit - found
-- Looking for posix_spawn
-- Looking for posix_spawn - found
-- Looking for pread
-- Looking for pread - found
-- Looking for realpath
-- Looking for realpath - found
-- Looking for sbrk
-- Looking for sbrk - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strerror_s
-- Looking for strerror_s - not found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for dladdr
-- Looking for dladdr - found
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - not found
-- Looking for sched_getaffinity
-- Looking for sched_getaffinity - not found
-- Looking for CPU_COUNT
-- Looking for CPU_COUNT - not found
-- Looking for pthread_getname_np
-- Looking for pthread_getname_np - found
-- Looking for pthread_setname_np
-- Looking for pthread_setname_np - found
-- Looking for ffi_call
-- Looking for ffi_call - found
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB
-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Success
-- Performing Test LLVM_HAS_ATOMICS
-- Performing Test LLVM_HAS_ATOMICS - Success
-- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG
-- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG - Success
-- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG
-- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG - Success
-- Native target architecture is X86
-- Threads enabled.
-- Doxygen disabled.
-- Go bindings disabled.
-- Found ld64 - /Library/Developer/CommandLineTools/usr/bin/ld
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- OCaml bindings disabled.
-- Could NOT find Python module pygments
-- Could NOT find Python module pygments.lexers.c_cpp
-- Could NOT find Python module yaml
-- LLVM host triple: x86_64-apple-darwin17.7.0
-- LLVM default target triple: x86_64-apple-darwin17.7.0
-- Performing Test C_SUPPORTS_FPIC
-- Performing Test C_SUPPORTS_FPIC - Success
-- Performing Test CXX_SUPPORTS_FPIC
-- Performing Test CXX_SUPPORTS_FPIC - Success
-- Building with -fPIC
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test C_SUPPORTS_WERROR_DATE_TIME
-- Performing Test C_SUPPORTS_WERROR_DATE_TIME - Success
-- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME
-- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME - Success
-- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
-- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success
-- Performing Test CXX_SUPPORTS_CXX11
-- Performing Test CXX_SUPPORTS_CXX11 - Success
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG
-- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG - Success
-- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR
-- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR - Success
-- Performing Test C_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG
-- Performing Test C_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG - Success
-- Performing Test CXX_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG
-- Performing Test CXX_SUPPORTS_DELETE_NON_VIRTUAL_DTOR_FLAG - Success
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Success
-- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG
-- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG - Success
-- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG
-- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG - Success
-- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.10") 
-- Constructing LLVMBuild project information
-- Linker detection: ld64
-- Targeting AArch64
-- Targeting AMDGPU
-- Targeting ARM
-- Targeting BPF
-- Targeting Hexagon
-- Targeting Lanai
-- Targeting Mips
-- Targeting MSP430
-- Targeting NVPTX
-- Targeting PowerPC
-- Targeting Sparc
-- Targeting SystemZ
-- Targeting X86
-- Targeting XCore
-- Looking for fopen in c
-- Looking for fopen in c - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - not found
-- Performing Test LIBUNWIND_HAS_NODEFAULTLIBS_FLAG
-- Performing Test LIBUNWIND_HAS_NODEFAULTLIBS_FLAG - Success
-- Performing Test LIBUNWIND_HAS_FUNWIND_TABLES
-- Performing Test LIBUNWIND_HAS_FUNWIND_TABLES - Success
-- Performing Test LIBUNWIND_HAS_NO_EXCEPTIONS_FLAG
-- Performing Test LIBUNWIND_HAS_NO_EXCEPTIONS_FLAG - Success
-- Performing Test LIBUNWIND_HAS_NO_RTTI_FLAG
-- Performing Test LIBUNWIND_HAS_NO_RTTI_FLAG - Success
-- Performing Test LIBUNWIND_HAS_FSTRICT_ALIASING_FLAG
-- Performing Test LIBUNWIND_HAS_FSTRICT_ALIASING_FLAG - Success
-- Performing Test LIBUNWIND_HAS_NOSTDINCXX_FLAG
-- Performing Test LIBUNWIND_HAS_NOSTDINCXX_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WALL_FLAG
-- Performing Test LIBUNWIND_HAS_WALL_FLAG - Success
-- Performing Test LIBUNWIND_HAS_W_FLAG
-- Performing Test LIBUNWIND_HAS_W_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WNO_UNUSED_FUNCTION_FLAG
-- Performing Test LIBUNWIND_HAS_WNO_UNUSED_FUNCTION_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WUNUSED_VARIABLE_FLAG
-- Performing Test LIBUNWIND_HAS_WUNUSED_VARIABLE_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WUNUSED_PARAMETER_FLAG
-- Performing Test LIBUNWIND_HAS_WUNUSED_PARAMETER_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WSTRICT_ALIASING_FLAG
-- Performing Test LIBUNWIND_HAS_WSTRICT_ALIASING_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WSTRICT_OVERFLOW_FLAG
-- Performing Test LIBUNWIND_HAS_WSTRICT_OVERFLOW_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WWRITE_STRINGS_FLAG
-- Performing Test LIBUNWIND_HAS_WWRITE_STRINGS_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WCHAR_SUBSCRIPTS_FLAG
-- Performing Test LIBUNWIND_HAS_WCHAR_SUBSCRIPTS_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WMISMATCHED_TAGS_FLAG
-- Performing Test LIBUNWIND_HAS_WMISMATCHED_TAGS_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WMISSING_BRACES_FLAG
-- Performing Test LIBUNWIND_HAS_WMISSING_BRACES_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WSHORTEN_64_TO_32_FLAG
-- Performing Test LIBUNWIND_HAS_WSHORTEN_64_TO_32_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WSIGN_CONVERSION_FLAG
-- Performing Test LIBUNWIND_HAS_WSIGN_CONVERSION_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WSIGN_COMPARE_FLAG
-- Performing Test LIBUNWIND_HAS_WSIGN_COMPARE_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WSHADOW_FLAG
-- Performing Test LIBUNWIND_HAS_WSHADOW_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WCONVERSION_FLAG
-- Performing Test LIBUNWIND_HAS_WCONVERSION_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WNEWLINE_EOF_FLAG
-- Performing Test LIBUNWIND_HAS_WNEWLINE_EOF_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WUNDEF_FLAG
-- Performing Test LIBUNWIND_HAS_WUNDEF_FLAG - Success
-- Performing Test LIBUNWIND_HAS_PEDANTIC_FLAG
-- Performing Test LIBUNWIND_HAS_PEDANTIC_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WERROR_FLAG
-- Performing Test LIBUNWIND_HAS_WERROR_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WNO_ERROR_FLAG
-- Performing Test LIBUNWIND_HAS_WNO_ERROR_FLAG - Success
-- Performing Test LIBUNWIND_HAS_WX_FLAG
-- Performing Test LIBUNWIND_HAS_WX_FLAG - Failed
-- Performing Test LIBUNWIND_HAS_NO_WX_FLAG
-- Performing Test LIBUNWIND_HAS_NO_WX_FLAG - Failed
-- Performing Test LIBUNWIND_HAS_EHSC_FLAG
-- Performing Test LIBUNWIND_HAS_EHSC_FLAG - Failed
-- Performing Test LIBUNWIND_HAS_NO_EHS_FLAG
-- Performing Test LIBUNWIND_HAS_NO_EHS_FLAG - Failed
-- Performing Test LIBUNWIND_HAS_NO_EHA_FLAG
-- Performing Test LIBUNWIND_HAS_NO_EHA_FLAG - Failed
-- Performing Test LIBUNWIND_HAS_NO_GR_FLAG
-- Performing Test LIBUNWIND_HAS_NO_GR_FLAG - Failed
-- Performing Test LIBUNWIND_HAS_STD_CXX11
-- Performing Test LIBUNWIND_HAS_STD_CXX11 - Success
-- Looking for dladdr in dl
-- Looking for dladdr in dl - found
-- Looking for pthread_once in pthread
-- Looking for pthread_once in pthread - found
-- Linker detection: ld64
-- Looking for fopen in c
-- Looking for fopen in c - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - not found
-- Performing Test LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG
-- Performing Test LIBCXX_SUPPORTS_NODEFAULTLIBS_FLAG - Success
-- Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB
-- Performing Test LIBCXX_HAVE_CXX_ATOMICS_WITHOUT_LIB - Success
-- Looking for __atomic_fetch_add_8 in atomic
-- Looking for __atomic_fetch_add_8 in atomic - not found
-- Performing Test LIBCXX_HAS_WX_FLAG
-- Performing Test LIBCXX_HAS_WX_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_WX_FLAG
-- Performing Test LIBCXX_HAS_NO_WX_FLAG - Failed
-- Performing Test LIBCXX_HAS_EHSC_FLAG
-- Performing Test LIBCXX_HAS_EHSC_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_EHS_FLAG
-- Performing Test LIBCXX_HAS_NO_EHS_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_EHA_FLAG
-- Performing Test LIBCXX_HAS_NO_EHA_FLAG - Failed
-- Performing Test LIBCXX_HAS_NO_GR_FLAG
-- Performing Test LIBCXX_HAS_NO_GR_FLAG - Failed
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for ccos in m
-- Looking for ccos in m - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG
-- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX11_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_NOSTDINCXX_FLAG
-- Performing Test LIBCXX_SUPPORTS_NOSTDINCXX_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test LIBCXX_SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WALL_FLAG
-- Performing Test LIBCXX_SUPPORTS_WALL_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WEXTRA_FLAG
-- Performing Test LIBCXX_SUPPORTS_WEXTRA_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_W_FLAG
-- Performing Test LIBCXX_SUPPORTS_W_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WWRITE_STRINGS_FLAG
-- Performing Test LIBCXX_SUPPORTS_WWRITE_STRINGS_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WNO_UNUSED_PARAMETER_FLAG
-- Performing Test LIBCXX_SUPPORTS_WNO_UNUSED_PARAMETER_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WNO_LONG_LONG_FLAG
-- Performing Test LIBCXX_SUPPORTS_WNO_LONG_LONG_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WERROR_EQ_RETURN_TYPE_FLAG
-- Performing Test LIBCXX_SUPPORTS_WERROR_EQ_RETURN_TYPE_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WNO_USER_DEFINED_LITERALS_FLAG
-- Performing Test LIBCXX_SUPPORTS_WNO_USER_DEFINED_LITERALS_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WNO_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test LIBCXX_SUPPORTS_WNO_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_WNO_ERROR_FLAG
-- Performing Test LIBCXX_SUPPORTS_WNO_ERROR_FLAG - Success
-- Performing Test LIBCXX_SUPPORTS_EHSC_FLAG
-- Performing Test LIBCXX_SUPPORTS_EHSC_FLAG - Failed
-- Performing Test LIBCXX_SUPPORTS_FPIC_FLAG
-- Performing Test LIBCXX_SUPPORTS_FPIC_FLAG - Success
-- Found SDK version 10.14.1
-- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX14_FLAG
-- Performing Test LIBCXX_SUPPORTS_STD_EQ_CXX14_FLAG - Success
-- Adding Benchmark: algorithms.bench.cpp
-- Adding Benchmark: filesystem.bench.cpp
-- Adding Benchmark: string.bench.cpp
-- Adding Benchmark: stringstream.bench.cpp
-- Adding Benchmark: unordered_set_operations.bench.cpp
-- Adding Benchmark: util_smartptr.bench.cpp
-- Adding Benchmark: vector_operations.bench.cpp
-- Linker detection: ld64
-- Performing Test OPENMP_HAVE_WERROR_FLAG
-- Performing Test OPENMP_HAVE_WERROR_FLAG - Success
-- Performing Test OPENMP_HAVE_STD_CPP11_FLAG
-- Performing Test OPENMP_HAVE_STD_CPP11_FLAG - Success
-- Performing Test LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG
-- Performing Test LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG - Success
-- Performing Test LIBOMP_HAVE_FNO_RTTI_FLAG
-- Performing Test LIBOMP_HAVE_FNO_RTTI_FLAG - Success
-- Performing Test LIBOMP_HAVE_X_CPP_FLAG
-- Performing Test LIBOMP_HAVE_X_CPP_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_FUNCTION_FLAG
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_FUNCTION_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_LOCAL_TYPEDEF_FLAG
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_LOCAL_TYPEDEF_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_VALUE_FLAG
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_VALUE_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_VARIABLE_FLAG
-- Performing Test LIBOMP_HAVE_WNO_UNUSED_VARIABLE_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_SWITCH_FLAG
-- Performing Test LIBOMP_HAVE_WNO_SWITCH_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test LIBOMP_HAVE_WNO_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_DEPRECATED_REGISTER_FLAG
-- Performing Test LIBOMP_HAVE_WNO_DEPRECATED_REGISTER_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_SIGN_COMPARE_FLAG
-- Performing Test LIBOMP_HAVE_WNO_SIGN_COMPARE_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_GNU_ANONYMOUS_STRUCT_FLAG
-- Performing Test LIBOMP_HAVE_WNO_GNU_ANONYMOUS_STRUCT_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_UNKNOWN_PRAGMAS_FLAG
-- Performing Test LIBOMP_HAVE_WNO_UNKNOWN_PRAGMAS_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_MISSING_FIELD_INITIALIZERS_FLAG
-- Performing Test LIBOMP_HAVE_WNO_MISSING_FIELD_INITIALIZERS_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_MISSING_BRACES_FLAG
-- Performing Test LIBOMP_HAVE_WNO_MISSING_BRACES_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_COMMENT_FLAG
-- Performing Test LIBOMP_HAVE_WNO_COMMENT_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_SELF_ASSIGN_FLAG
-- Performing Test LIBOMP_HAVE_WNO_SELF_ASSIGN_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_VLA_EXTENSION_FLAG
-- Performing Test LIBOMP_HAVE_WNO_VLA_EXTENSION_FLAG - Success
-- Performing Test LIBOMP_HAVE_WNO_FORMAT_PEDANTIC_FLAG
-- Performing Test LIBOMP_HAVE_WNO_FORMAT_PEDANTIC_FLAG - Success
-- Performing Test LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG
-- Performing Test LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG - Success
-- Performing Test LIBOMP_HAVE_MSSE2_FLAG
-- Performing Test LIBOMP_HAVE_MSSE2_FLAG - Success
-- Performing Test LIBOMP_HAVE_FTLS_MODEL_FLAG
-- Performing Test LIBOMP_HAVE_FTLS_MODEL_FLAG - Success
-- Performing Test LIBOMP_HAVE_MMIC_FLAG
-- Performing Test LIBOMP_HAVE_MMIC_FLAG - Failed
-- Performing Test LIBOMP_HAVE_M32_FLAG
-- Performing Test LIBOMP_HAVE_M32_FLAG - Failed
-- Found Perl: /usr/bin/perl (found version "5.18.2") 
-- Performing Test LIBOMP_HAVE_VERSION_SYMBOLS
-- Performing Test LIBOMP_HAVE_VERSION_SYMBOLS - Failed
-- Performing Test LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS
-- Performing Test LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS - Success
-- Performing Test LIBOMP_HAVE_WEAK_ATTRIBUTE
-- Performing Test LIBOMP_HAVE_WEAK_ATTRIBUTE - Success
-- Looking for include files windows.h, psapi.h
-- Looking for include files windows.h, psapi.h - not found
-- Looking for EnumProcessModules in psapi
-- Looking for EnumProcessModules in psapi - not found
-- Looking for sqrt in m
-- Looking for sqrt in m - found
-- Looking for __atomic_load_1
-- Looking for __atomic_load_1 - found
-- ISL version: isl-0.20-35-ge0a98b62
-- Performing Test HAS_ATTRIBUTE_WARN_UNUSED_RESULT
-- Performing Test HAS_ATTRIBUTE_WARN_UNUSED_RESULT - Success
-- Performing Test HAVE___ATTRIBUTE__
-- Performing Test HAVE___ATTRIBUTE__ - Success
-- Performing Test HAVE_DECL_FFS
-- Performing Test HAVE_DECL_FFS - Success
-- Performing Test HAVE_DECL___BUILTIN_FFS
-- Performing Test HAVE_DECL___BUILTIN_FFS - Success
-- Performing Test HAVE_DECL__BITSCANFORWARD
-- Performing Test HAVE_DECL__BITSCANFORWARD - Failed
-- Performing Test HAVE_DECL_STRCASECMP
-- Performing Test HAVE_DECL_STRCASECMP - Success
-- Performing Test HAVE_DECL__STRICMP
-- Performing Test HAVE_DECL__STRICMP - Failed
-- Performing Test HAVE_DECL_STRNCASECMP
-- Performing Test HAVE_DECL_STRNCASECMP - Success
-- Performing Test HAVE_DECL__STRNICMP
-- Performing Test HAVE_DECL__STRNICMP - Failed
-- Performing Test HAVE_DECL_SNPRINTF
-- Performing Test HAVE_DECL_SNPRINTF - Success
-- Performing Test HAVE_DECL__SNPRINTF
-- Performing Test HAVE_DECL__SNPRINTF - Failed
-- Performing Test HAVE_UINT8T
-- Performing Test HAVE_UINT8T - Failed
-- Performing Test HAVE_STDINT_H
-- Performing Test HAVE_STDINT_H - Success
-- Performing Test HAVE_INTTYPES_H
-- Performing Test HAVE_INTTYPES_H - Success
-- Performing Test HAVE_SYS_INTTYPES_H
-- Performing Test HAVE_SYS_INTTYPES_H - Failed
-- PPCG version: ppcg-0.07
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Clang version: 7.0.1
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Success
-- LLD version: 7.0.1
CMake Error at tools/xcode-toolchain/CMakeLists.txt:52 (string):
  string sub-command REGEX, mode MATCH needs at least 5 arguments total to
  command.


CMake Warning at tools/xcode-toolchain/CMakeLists.txt:60 (message):
  Failed to detect the version of an installed copy of Xcode, falling back to
  highest supported version.  Set XCODE_VERSION to override.


CMake Error at tools/xcode-toolchain/CMakeLists.txt:80 (message):
  Could not identify toolchain dir


-- Configuring incomplete, errors occurred!
See also "/tmp/llvm-20190101-39443-vr06cl/llvm-7.0.1.src/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/llvm-20190101-39443-vr06cl/llvm-7.0.1.src/build/CMakeFiles/CMakeError.log".

==> Formula
Path: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/llvm.rb
==> Configuration
HOMEBREW_VERSION: 1.8.6-63-g2ff07a6
ORIGIN: https://github.com/Homebrew/brew
HEAD: 2ff07a60c8fe5c95e1648b368f65e5dccf3b6d46
Last commit: 18 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 8b92f24ff6ff6de30f55c39ecbaabb4a78e32abe
Core tap last commit: 5 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_DEVELOPER: 1
HOMEBREW_ENABLE_AUTO_UPDATE_MIGRATION: 1
HOMEBREW_LOGS: /Users/goxberry/Library/Logs/Homebrew
HOMEBREW_NO_ANALYTICS_THIS_RUN: 1
CPU: quad-core 64-bit sandybridge
Homebrew Ruby: 2.3.7 => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 10.0 build 1000
Git: 2.17.2 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.54.0 => /usr/bin/curl
macOS: 10.13.6-x86_64
CLT: 10.1.0.0.1.1539992718
Xcode: 10.1
Error: llvm 7.0.1 did not build
==> ENV
HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j4
CMAKE_PREFIX_PATH: /usr/local/opt/libffi:/usr/local
CMAKE_INCLUDE_PATH: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libxml2:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_PATH: /usr/local/opt/libffi/lib/pkgconfig
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/10.13
HOMEBREW_GIT: git
HOMEBREW_SDKROOT: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
ACLOCAL_PATH: /usr/local/share/aclocal
PATH: /usr/local/Homebrew/Library/Homebrew/shims/mac/super:/usr/local/opt/cmake/bin:/usr/bin:/bin:/usr/sbin:/sbin

Logs:
     /Users/goxberry/Library/Logs/Homebrew/llvm/00.options.out
     /Users/goxberry/Library/Logs/Homebrew/llvm/01.cmake
     /Users/goxberry/Library/Logs/Homebrew/llvm/01.cmake.cc
READ THIS: https://docs.brew.sh/Troubleshooting

These open issues may also help:
imagemagick: Enable OpenMP support on LLVM Clang. https://github.com/Homebrew/homebrew-core/pull/35519

@fxcoudert fxcoudert reopened this Jan 1, 2019
@fxcoudert
Copy link
Member

Reverted in 9952ed6 and 5a21137

@fxcoudert
Copy link
Member

The list of files in old and new bottles can be found here: https://gist.github.com/fxcoudert/eae435b062afb1a16e3e6e538aa33e15

They have same number of files, same number of symbolic links. But the size of the files itself differs:

rmeur ~/Downloads $ grep libunwind old-list   
-rwxr-xr-x  0 brew   staff   63376 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.1.0.dylib
-rw-r--r--  0 brew   staff   88056 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.a
lrwxr-xr-x  0 brew   staff        0 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.1.dylib -> libunwind.1.0.dylib
lrwxr-xr-x  0 brew   staff        0 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.dylib -> libunwind.1.dylib
-r--r--r--  0 brew   staff    63376 Dec  7 21:42 llvm/7.0.1/lib/libunwind.1.0.dylib
-r--r--r--  0 brew   staff    88056 Dec  7 21:42 llvm/7.0.1/lib/libunwind.a
lrwxr-xr-x  0 brew   staff        0 Dec  7 21:42 llvm/7.0.1/lib/libunwind.1.dylib -> libunwind.1.0.dylib
lrwxr-xr-x  0 brew   staff        0 Dec  7 21:42 llvm/7.0.1/lib/libunwind.dylib -> libunwind.1.dylib
rmeur ~/Downloads $ grep libunwind new-list  
-rwxr-xr-x  0 brew   staff    92840 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.1.0.dylib
-rw-r--r--  0 brew   staff   138368 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.a
lrwxr-xr-x  0 brew   staff         0 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.1.dylib -> libunwind.1.0.dylib
lrwxr-xr-x  0 brew   staff         0 Dec  7 21:42 llvm/7.0.1/Toolchains/LLVM7.0.1.xctoolchain/usr/lib/libunwind.dylib -> libunwind.1.dylib
-r--r--r--  0 brew   staff     92840 Dec  7 21:42 llvm/7.0.1/lib/libunwind.1.0.dylib
-r--r--r--  0 brew   staff    138368 Dec  7 21:42 llvm/7.0.1/lib/libunwind.a
lrwxr-xr-x  0 brew   staff         0 Dec  7 21:42 llvm/7.0.1/lib/libunwind.1.dylib -> libunwind.1.0.dylib
lrwxr-xr-x  0 brew   staff         0 Dec  7 21:42 llvm/7.0.1/lib/libunwind.dylib -> libunwind.1.dylib

libunwind.1.0.dylib from the old bottle is 62K, new one is 91K. Old llvm/7.0.1/lib/libclangFrontend.a is 2.2M, new one is 11M. libclang.dylib was 61M, became 180M:

$ size new-libclang.dylib old-libclang.dylib 
__TEXT	__DATA	__OBJC	others	dec	hex
128237568	5267456	0	55218176	188723200	b3fb000	new-libclang.dylib
44576768	5201920	0	14057472	63836160	3ce1000	old-libclang.dylib

The new file exports a lot more symbols:

$ wc -l *.symbols
  458655 new-libclang.symbols
  136103 old-libclang.symbols
  594758 total

@stale
Copy link

stale bot commented Feb 7, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale No recent activity label Feb 7, 2019
@fxcoudert fxcoudert closed this Feb 8, 2019
@lock lock bot added the outdated PR was locked due to age label Mar 10, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Mar 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age stale No recent activity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Parallele build of llvm 7.0.1 fails on macOS 10.14.2
3 participants