llvm-hs/homebrew-llvm

llvm-4 fails to build

zmactep opened this issue · 12 comments

macOS Sierra 10.12.4

homebrew-core/llvm builds fine.

 ~/ brew install llvm-hs/homebrew-llvm/llvm-4.0
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
gdk-pixbuf                          nghttp2                             platformio                          pyenv                               s6

==> Tapping llvm-hs/llvm
Cloning into '/usr/local/Homebrew/Library/Taps/llvm-hs/homebrew-llvm'...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 10 (delta 2), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (10/10), done.
Tapped 4 formulae (38 files, 70.8KB)
==> Installing llvm-4.0 from llvm-hs/llvm
==> Downloading http://releases.llvm.org/4.0.0/llvm-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/cfe-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--clang-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/libcxx-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--libcxx-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/lld-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--lld-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/polly-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--polly-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/clang-tools-extra-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--clang-tools-extra-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/openmp-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--openmp-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/libcxx-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--libcxx-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/libunwind-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--libunwind-4.0.0.tar.xz
==> Downloading http://releases.llvm.org/4.0.0/compiler-rt-4.0.0.src.tar.xz
Already downloaded: /Users/pavel/Library/Caches/Homebrew/llvm-4.0--compiler-rt-4.0.0.tar.xz
==> cmake /private/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/
==> cmake --build .
Last 15 lines from /Users/pavel/Library/Logs/Homebrew/llvm-4.0/02.cmake:
[  6%] Building CXX object projects/libcxx/lib/CMakeFiles/cxx_objects.dir/__/src/utility.cpp.o
cd /tmp/llvm-4.0-20170328-2197-1h2a439/projects/libcxx/lib && /usr/local/Homebrew/Library/Homebrew/shims/super/clang++   -D_DEBUG -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/tmp/llvm-4.0-20170328-2197-1h2a439/projects/libcxx/lib -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/lib -I/tmp/llvm-4.0-20170328-2197-1h2a439/include -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/include -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/include  -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers  -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Werror=date-time -std=c++11   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.12    -UNDEBUG -std=c++11 -nostdinc++ -fvisibility-inlines-hidden -Wall -Wextra -W -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wno-user-defined-literals -Wno-covered-switch-default -Wno-error -fPIC -o CMakeFiles/cxx_objects.dir/__/src/utility.cpp.o -c /tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/src/utility.cpp
[  6%] Building CXX object lib/DebugInfo/PDB/CMakeFiles/LLVMDebugInfoPDB.dir/Raw/TpiStreamBuilder.cpp.o
cd /tmp/llvm-4.0-20170328-2197-1h2a439/lib/DebugInfo/PDB && /usr/local/Homebrew/Library/Homebrew/shims/super/clang++   -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/tmp/llvm-4.0-20170328-2197-1h2a439/lib/DebugInfo/PDB -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/lib/DebugInfo/PDB -I/tmp/llvm-4.0-20170328-2197-1h2a439/include -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/include  -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Werror=date-time -std=c++11   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.12   -UNDEBUG   -o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/TpiStreamBuilder.cpp.o -c /tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp
[  6%] Building CXX object projects/libcxx/lib/CMakeFiles/cxx_objects.dir/__/src/valarray.cpp.o
cd /tmp/llvm-4.0-20170328-2197-1h2a439/projects/libcxx/lib && /usr/local/Homebrew/Library/Homebrew/shims/super/clang++   -D_DEBUG -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/tmp/llvm-4.0-20170328-2197-1h2a439/projects/libcxx/lib -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/lib -I/tmp/llvm-4.0-20170328-2197-1h2a439/include -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/include -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/include  -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers  -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Werror=date-time -std=c++11   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.12    -UNDEBUG -std=c++11 -nostdinc++ -fvisibility-inlines-hidden -Wall -Wextra -W -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wno-user-defined-literals -Wno-covered-switch-default -Wno-error -fPIC -o CMakeFiles/cxx_objects.dir/__/src/valarray.cpp.o -c /tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/src/valarray.cpp
[  6%] Building CXX object projects/libcxx/lib/CMakeFiles/cxx_objects.dir/__/src/variant.cpp.o
cd /tmp/llvm-4.0-20170328-2197-1h2a439/projects/libcxx/lib && /usr/local/Homebrew/Library/Homebrew/shims/super/clang++   -D_DEBUG -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/tmp/llvm-4.0-20170328-2197-1h2a439/projects/libcxx/lib -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/lib -I/tmp/llvm-4.0-20170328-2197-1h2a439/include -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/include -I/tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/include  -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers  -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Werror=date-time -std=c++11   -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.12    -UNDEBUG -std=c++11 -nostdinc++ -fvisibility-inlines-hidden -Wall -Wextra -W -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wno-user-defined-literals -Wno-covered-switch-default -Wno-error -fPIC -o CMakeFiles/cxx_objects.dir/__/src/variant.cpp.o -c /tmp/llvm-4.0-20170328-2197-1mw2b8z/llvm-4.0.0.src/projects/libcxx/src/variant.cpp
[  6%] Built target cxx_objects
[  6%] Linking CXX static library ../../libLLVMDebugInfoPDB.a
cd /tmp/llvm-4.0-20170328-2197-1h2a439/lib/DebugInfo/PDB && /usr/local/Cellar/cmake/3.7.2/bin/cmake -P CMakeFiles/LLVMDebugInfoPDB.dir/cmake_clean_target.cmake
cd /tmp/llvm-4.0-20170328-2197-1h2a439/lib/DebugInfo/PDB && /usr/local/Cellar/cmake/3.7.2/bin/cmake -E cmake_link_script CMakeFiles/LLVMDebugInfoPDB.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -no_warning_for_no_symbols -o ../../libLLVMDebugInfoPDB.a          CMakeFiles/LLVMDebugInfoPDB.dir/GenericError.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/IPDBSourceFile.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDB.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBContext.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBExtras.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBInterfaceAnchors.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbol.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolAnnotation.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolBlock.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompiland.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompilandDetails.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCompilandEnv.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolCustom.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolData.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolExe.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFunc.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFuncDebugEnd.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolFuncDebugStart.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolLabel.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolPublicSymbol.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolThunk.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeArray.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeBaseClass.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeBuiltin.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeCustom.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeDimension.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeEnum.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFriend.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFunctionArg.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeFunctionSig.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeManaged.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypePointer.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeTypedef.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeUDT.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeVTable.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolTypeVTableShape.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolUnknown.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymbolUsingNamespace.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/PDBSymDumper.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/DbiStream.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/DbiStreamBuilder.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/EnumTables.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/GlobalsStream.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/GSI.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/Hash.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/InfoStream.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/InfoStreamBuilder.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/ModInfo.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/ModStream.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/NameHashTable.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/NameMap.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/NameMapBuilder.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/PDBFile.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/PDBFileBuilder.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/PublicsStream.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/RawError.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/RawSession.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/SymbolStream.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/TpiHashing.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/TpiStream.cpp.o CMakeFiles/LLVMDebugInfoPDB.dir/Raw/TpiStreamBuilder.cpp.o
[  6%] Built target LLVMDebugInfoPDB
make: *** [all] Error 2

Odd. Do you have the entire log file still available you can upload?

That is, the file /Users/pavel/Library/Logs/Homebrew/llvm-4.0/02.cmake (or anything else in that directory which seems relevant). If the files are large uploading as a gist might be better.

Sure, here it is: gist

Thanks. Okay, the actual error is here.

This is weird. I didn't find much info on this error. Some suggestions that it could be related the wrong version of the command line tools / SDKs installed. What machine are you running on?

The immediate workaround could be to just not build compiler-rt. You should be able to accomplish that by just commenting out this line. If that works for you we might as well make that change permanent.

I can't see anything really different from homebrew-core/llvm. I'm running 10.11, so don't know if it is something specific to 10.12, but their formula doesn't suggest anything along those lines.

Does brew doctor tell you anything? What about the other troubleshooting steps?

One other question; since you had managed to install homebrew-core/llvm already, were you using that version of clang to compile (either via brew link or updating PATH) or system clang?

I have MPB 2016 13" with i7 and my system "is ready to brew".

I have used system clang to build this formula, as my system llvm is installed to /usr/local/opt/llvm. I use homebrew llvm by updating my PATH.

Without compiler-rt I have an error too:

...
[ 75%] Built target LLVMSupport
[ 75%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o
...
[ 75%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o
[ 75%] Linking CXX static library ../libLLVMTableGen.a
[ 75%] Linking CXX static library ../libLLVMTableGen.a
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't stat file output file: ../libLLVMTableGen.a (No such file or d$
make[6]: *** [lib/libLLVMTableGen.a] Error 1
make[5]: *** [lib/TableGen/CMakeFiles/LLVMTableGen.dir/all] Error 2
make[5]: *** Waiting for unfinished jobs....
...

What version of Xcode / command line tools do you have?

Xcode 8.3

$ /usr/bin/clang -v
Apple LLVM version 8.1.0 (clang-802.0.38)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Actually

I use homebrew llvm by updating my PATH.

may be why you have a broken build system.

$ brew info llvm
...
This formula is keg-only, which means it was not symlinked into /usr/local/homebrew.

macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

Try deleting it / removing it from your path?

Oh! It works I have built it with system clang by disabling compiler-rt. Thanks :)

this is still very strange, but glad that it works for you now (: