llvm-hs / homebrew-llvm

LLVM formulae for the Homebrew package manager
25 stars 7 forks source link

llvm-4 fails to build #3

Closed zmactep closed 7 years ago

zmactep commented 7 years ago

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
tmcdonell commented 7 years ago

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

tmcdonell commented 7 years ago

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.

zmactep commented 7 years ago

Sure, here it is: gist

tmcdonell commented 7 years ago

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?

tmcdonell commented 7 years ago

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?

zmactep commented 7 years ago

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.

zmactep commented 7 years ago

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....
...
tmcdonell commented 7 years ago

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

zmactep commented 7 years ago

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
tmcdonell commented 7 years ago

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?

zmactep commented 7 years ago

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

tmcdonell commented 7 years ago

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