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: library not found for -lLLVMHexagonCodeGen #23

Closed
nilsbecker opened this issue Mar 3, 2013 · 49 comments
Closed

llvm: library not found for -lLLVMHexagonCodeGen #23

nilsbecker opened this issue Mar 3, 2013 · 49 comments

Comments

@nilsbecker
Copy link

i get the following output on 10.7:

==> Installing julia
==> Cloning https://github.com/JuliaLang/julia.git
Cloning into '/Users/nbecker/Library/Caches/Homebrew/julia--git'...
remote: Counting objects: 611, done.
remote: Compressing objects: 100% (554/554), done.
remote: Total 611 (delta 24), reused 237 (delta 18)
Receiving objects: 100% (611/611), 1.76 MiB | 978 KiB/s, done.
Resolving deltas: 100% (24/24), done.
Submodule 'deps/Rmath' (git://github.com/JuliaLang/Rmath.git) registered for path 'deps/Rmath'
Submodule 'deps/libuv' (git://github.com/JuliaLang/libuv.git) registered for path 'deps/libuv'
Submodule 'deps/nginx' (git://github.com/git-mirror/nginx) registered for path 'deps/nginx'
Submodule 'deps/openlibm' (git://github.com/JuliaLang/openlibm.git) registered for path 'deps/openlibm'
Cloning into 'deps/Rmath'...
remote: Counting objects: 291, done.
remote: Compressing objects: 100% (162/162), done.
remote: Total 291 (delta 179), reused 235 (delta 127)
Receiving objects: 100% (291/291), 233.38 KiB | 247 KiB/s, done.
Resolving deltas: 100% (179/179), done.
Submodule path 'deps/Rmath': checked out '85dee98a799c193bedf6af35c839de08c2d233f6'
Cloning into 'deps/libuv'...
remote: Counting objects: 13714, done.
remote: Compressing objects: 100% (3601/3601), done.
remote: Total 13714 (delta 10760), reused 12837 (delta 10060)
Receiving objects: 100% (13714/13714), 3.69 MiB | 930 KiB/s, done.
Resolving deltas: 100% (10760/10760), done.
Submodule path 'deps/libuv': checked out '3c6bef3aa86c8c5bf380bd6cf5b6a45688a102e6'
Cloning into 'deps/nginx'...
remote: Counting objects: 42121, done.
remote: Compressing objects: 100% (9309/9309), done.
remote: Total 42121 (delta 32315), reused 41952 (delta 32157)
Receiving objects: 100% (42121/42121), 6.52 MiB | 1.14 MiB/s, done.
Resolving deltas: 100% (32315/32315), done.
Submodule path 'deps/nginx': checked out 'e0235968fc75df45482929b0312dfd7a0b199520'
Cloning into 'deps/openlibm'...
remote: Counting objects: 3438, done.
remote: Compressing objects: 100% (1402/1402), done.
remote: Total 3438 (delta 2198), reused 3262 (delta 2024)
Receiving objects: 100% (3438/3438), 3.16 MiB | 1.02 MiB/s, done.
Resolving deltas: 100% (2198/2198), done.
Submodule path 'deps/openlibm': checked out '50ce8eff11bcd6f14783483bfa90d5d81481e12d'
==> Downloading patches
######################################################################## 100.0%
######################################################################## 100.0%
==> Patching
patching file deps/Makefile
Hunk #1 succeeded at 1043 (offset 389 lines).
patching file Make.inc
Hunk #1 succeeded at 206 (offset 36 lines).
Hunk #2 succeeded at 219 (offset 36 lines).
==> Using Homebrew-provided fortran compiler.
This may be changed by setting the FC environment variable.
==> Downloading http://double-conversion.googlecode.com/files/double-conversion-
######################################################################## 100.0%
==> Using double-conversion: /Users/nbecker/Library/Caches/Homebrew/double-conve
==> Downloading http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-2
######################################################################## 100.0%
==> Using DSFMT: /Users/nbecker/Library/Caches/Homebrew/dSFMT-src-2.2.tar.gz
==> make -C contrib -f repackage_system_suitesparse4.make PREFIX=/usr/local/Cell
==> make release PREFIX=/usr/local/Cellar/julia/HEAD USE_LIB64=0 FC=/usr/local/b
ld: library not found for -lLLVMHexagonCodeGen
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [/private/tmp/julia-5wHQ/usr/lib/libjulia-release.dylib] Error 1
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

calling brew install --HEAD julia once more then fails with

==> Cloning https://github.com/JuliaLang/julia.git
Updating /Users/nbecker/Library/Caches/Homebrew/julia--git
fatal: Could not chdir to '../../../../../../../../../../private/tmp/julia-5wHQ/deps/Rmath': No such file or directory
Unable to find current revision in submodule path 'deps/Rmath'
Error: Failure while executing: git submodule update --init

@staticfloat
Copy link
Owner

What version of llvm do you have installed?

$ brew info llvm
llvm: stable 3.2 (bottled), HEAD
...

Also, can you run the following? It sounds like you might have a missing llvm library:

$ brew list -v llvm | grep lib
/Users/sabae/.homebrew/Cellar/llvm/3.2/bin/llvm-ranlib
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/BugpointPasses.dylib
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMAnalysis.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMArchive.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMAsmParser.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMAsmPrinter.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMBitReader.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMBitWriter.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMCodeGen.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMCore.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMDebugInfo.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMExecutionEngine.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMInstCombine.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMInstrumentation.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMInterpreter.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMipa.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMipo.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMJIT.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMLinker.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMMC.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMMCDisassembler.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMMCJIT.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMMCParser.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMObject.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMRuntimeDyld.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMScalarOpts.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMSelectionDAG.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMSupport.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMTableGen.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMTarget.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMTransformUtils.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMVectorize.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMX86AsmParser.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMX86AsmPrinter.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMX86CodeGen.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMX86Desc.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMX86Disassembler.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMX86Info.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLLVMX86Utils.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLTO.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libLTO.dylib
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libprofile_rt.a
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/libprofile_rt.dylib
/Users/sabae/.homebrew/Cellar/llvm/3.2/lib/LLVMHello.dylib

@nilsbecker
Copy link
Author

ok..

nmba:~ nbecker$ brew info llvm
llvm: stable 3.2 (bottled), HEAD

and

nmba:~ nbecker$ brew list -v llvm | grep lib
/usr/local/Cellar/llvm/3.2/bin/llvm-ranlib
/usr/local/Cellar/llvm/3.2/lib/BugpointPasses.dylib
/usr/local/Cellar/llvm/3.2/lib/libLLVMAnalysis.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMArchive.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMAsmParser.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMAsmPrinter.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMBitReader.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMBitWriter.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMCodeGen.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMCore.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMDebugInfo.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMExecutionEngine.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMInstCombine.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMInstrumentation.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMInterpreter.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMipa.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMipo.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMJIT.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMLinker.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMMC.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMMCDisassembler.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMMCJIT.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMMCParser.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMObject.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMRuntimeDyld.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMScalarOpts.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMSelectionDAG.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMSupport.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMTableGen.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMTarget.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMTransformUtils.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMVectorize.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMX86AsmParser.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMX86AsmPrinter.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMX86CodeGen.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMX86Desc.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMX86Disassembler.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMX86Info.a
/usr/local/Cellar/llvm/3.2/lib/libLLVMX86Utils.a
/usr/local/Cellar/llvm/3.2/lib/libLTO.a
/usr/local/Cellar/llvm/3.2/lib/libLTO.dylib
/usr/local/Cellar/llvm/3.2/lib/libprofile_rt.a
/usr/local/Cellar/llvm/3.2/lib/libprofile_rt.dylib
/usr/local/Cellar/llvm/3.2/lib/LLVMHello.dylib

in fact llvm was pulled in as a dependency while installing julia

@nilsbecker
Copy link
Author

bump... i'm still stuck at

fatal: Could not chdir to '../../../../../../../../../../private/tmp/julia-5wHQ/deps/Rmath': No such file or directory

brew --config
HOMEBREW_VERSION: 0.9.4
ORIGIN: https://github.com/mxcl/homebrew.git
HEAD: b2309d2
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit sandybridge
OS X: 10.7.5-x86_64
Xcode: 4.6
CLT: 1.0.0.9000000000.1.1249367152
GCC-4.2: build 5666
LLVM-GCC: build 2336
Clang: 4.2 build 425
X11: 2.6.5 => /usr/X11
System Ruby: 1.8.7-358
Perl: /usr/bin/perl
Python: /Users/nbecker/Apps/anaconda/bin/python
Ruby: /Users/nbecker/.rbenv/shims/ruby

@seancarmody
Copy link

I am having a similar issue @staticfloat, but with

fatal: Could not chdir to '../../../../../../../../private/tmp/julia-fQGQ/deps/libuv': No such file or directory

@kadrach
Copy link

kadrach commented Apr 23, 2013

@seancarmody Clearing the homebrew cache fixes that particular issue. The build process still fails due to other errors.

@staticfloat
Copy link
Owner

@nilsbecker, can you clear out your homebrew cache and try this again? I have recently pushed some fixes which may clear up some of the problems people have been having. Thanks!

@nilsbecker
Copy link
Author

@staticfloat, ok i tried again:

brew update
brew upgrade
brew rm julia  # redundant, i never got it to install
rm -rf $(brew --cache)
brew cleanup -s  # probably redundant
brew install --HEAD julia

this fails at the dependency DSFMT, with

==> Cloning https://github.com/JuliaLang/julia.git
Cloning into '/Library/Caches/Homebrew/julia--git'...
remote: Counting objects: 582, done.
remote: Compressing objects: 100% (533/533), done.
remote: Total 582 (delta 19), reused 310 (delta 12)
Receiving objects: 100% (582/582), 1.65 MiB | 460 KiB/s, done.
Resolving deltas: 100% (19/19), done.
==> Downloading patches
######################################################################## 100.0%
######################################################################## 100.0%
==> Patching
patching file deps/Makefile
Hunk #1 succeeded at 1089 (offset 435 lines).
patching file Make.inc
Hunk #1 succeeded at 224 (offset 54 lines).
Hunk #2 succeeded at 237 (offset 54 lines).
==> Using Homebrew-provided fortran compiler.
This may be changed by setting the FC environment variable.
==> Downloading http://double-conversion.googlecode.com/files/double-conversion-
######################################################################## 100.0%
==> Using double-conversion: /Library/Caches/Homebrew/double-conversion-1.1.1.ta
==> Downloading http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-2
######################################################################## 100.0%
==> Using DSFMT: /Library/Caches/Homebrew/dSFMT-src-2.2.tar.gz
==> make -C contrib -f repackage_system_suitesparse4.make PREFIX=/usr/local/Cell
==> make release PREFIX=/usr/local/Cellar/julia/HEAD USE_LIB64=0 FC=/usr/local/b
make[2]: *** [openlibm/libopenlibm-extras.dylib] Error 2
make[2]: *** Waiting for unfinished jobs....
100  284k  100  284k    0     0   8302      0  0:00:35  0:00:35 --:--:-- 78335
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

@staticfloat
Copy link
Owner

Looks like it's failing at openlibm, but I can't see why as it's hiding the compilation log. Can you do brew install -v --HEAD julia? And gist the output? Thanks!

@nilsbecker
Copy link
Author

@staticfloat
Copy link
Owner

Perfect, looks like we're still hitting the core2 bug. Can you try the following and see if it changes anything:

$ export FCFLAGS="-Os -w -pipe -mmacosx-version-min=10.7"
$ export FC=/usr/local/bin/gfortran
$ brew install -v --HEAD julia

@nilsbecker
Copy link
Author

much better, but fails at the testing stage:

https://gist.github.com/nilsbecker/b2df53e0c90ec6bd07a8

@staticfloat
Copy link
Owner

You are the only person to have this ld: library not found for -lLLVMHexagonCodeGen error. I'm not sure why you have this error; you could try removing and reinstalling llvm, although that is a time-intensive process. :(

@nilsbecker
Copy link
Author

removing and reinstalling llvm was not very long via homebrew but did not change the result. still this hexagon lib is not found. after some problems with building non-homebrew software with the homebrew installed pkg-config, i have the following env variable set:

echo $PKG_CONFIG_PATH 
/opt/X11/lib/pkgconfig:/usr/X11/lib/pkgconfig

resetting this did not help either.
giving up for now...

@staticfloat
Copy link
Owner

@nilsbecker; can you try installing llvm from source? Do brew install --build-from-source llvm. It will take a long time, but perhaps might give us something new to work with. Thanks for your patience!

@staticfloat
Copy link
Owner

And if you are tired of trying, you can go ahead and just close this issue. :)

@nilsbecker
Copy link
Author

ok, i am trying again. first brew install -v --build-from-source llvm
then export env variables as above, then brew install -v --HEAD julia
result:

https://gist.github.com/nilsbecker/d332cdfa5ea7e04f0a71

pretty much the same result: ld: library not found for -lLLVMHexagonCodeGen

@Lenskiy
Copy link

Lenskiy commented May 23, 2013

Doesn't llvm comes with Mac OS X by default?

Check PATH in .profile or .bashrc. Maybe you added a path to a wrong llvm, which actually does not make, but who knows.

@nilsbecker
Copy link
Author

@Lenskiy, yes, which llvm-gcc gives the /usr/bin one. but i thought homebrew calls its own llvm anyway?!

@staticfloat
Copy link
Owner

@nilsbecker; can you go into your homebrew Cellar, then go into <Cellar dir>/llvm/3.2/lib, and run the following:

$ nm * | grep -i ":\|Hexagon"

I'm trying to figure out which libraries of yours are trying to link to the Hexagon code gen...... because none of them should be. If that doesn't show anything, it's likely there's some other piece of software getting linked into Julia that is demanding the Hexagon code gen.

@nilsbecker
Copy link
Author

ok, so in /usr/local/Cellar/llvm/3.2/lib i do nm * | grep -i ":\|Hexagon" and get a longish list:

BugpointPasses.dylib:
LLVMHello.dylib:
libLLVMAnalysis.a(AliasAnalysis.o):
libLLVMAnalysis.a(AliasAnalysisCounter.o):
libLLVMAnalysis.a(AliasAnalysisEvaluator.o):
libLLVMAnalysis.a(AliasDebugger.o):
libLLVMAnalysis.a(AliasSetTracker.o):
libLLVMAnalysis.a(Analysis.o):
libLLVMAnalysis.a(BasicAliasAnalysis.o):
libLLVMAnalysis.a(BlockFrequencyInfo.o):
libLLVMAnalysis.a(BranchProbabilityInfo.o):
libLLVMAnalysis.a(CFGPrinter.o):
libLLVMAnalysis.a(CaptureTracking.o):
libLLVMAnalysis.a(CodeMetrics.o):
libLLVMAnalysis.a(ConstantFolding.o):
libLLVMAnalysis.a(CostModel.o):
libLLVMAnalysis.a(DbgInfoPrinter.o):
libLLVMAnalysis.a(DependenceAnalysis.o):
libLLVMAnalysis.a(DomPrinter.o):
libLLVMAnalysis.a(DominanceFrontier.o):
libLLVMAnalysis.a(IVUsers.o):
libLLVMAnalysis.a(InlineCost.o):
libLLVMAnalysis.a(InstCount.o):
libLLVMAnalysis.a(InstructionSimplify.o):
libLLVMAnalysis.a(Interval.o):
libLLVMAnalysis.a(IntervalPartition.o):
libLLVMAnalysis.a(LazyValueInfo.o):
libLLVMAnalysis.a(LibCallAliasAnalysis.o):
libLLVMAnalysis.a(LibCallSemantics.o):
libLLVMAnalysis.a(Lint.o):
libLLVMAnalysis.a(Loads.o):
libLLVMAnalysis.a(LoopInfo.o):
libLLVMAnalysis.a(LoopPass.o):
libLLVMAnalysis.a(MemDepPrinter.o):
libLLVMAnalysis.a(MemoryBuiltins.o):
libLLVMAnalysis.a(MemoryDependenceAnalysis.o):
libLLVMAnalysis.a(ModuleDebugInfoPrinter.o):
libLLVMAnalysis.a(NoAliasAnalysis.o):
libLLVMAnalysis.a(PHITransAddr.o):
libLLVMAnalysis.a(PathNumbering.o):
libLLVMAnalysis.a(PathProfileInfo.o):
libLLVMAnalysis.a(PathProfileVerifier.o):
libLLVMAnalysis.a(PostDominators.o):
libLLVMAnalysis.a(ProfileDataLoader.o):
libLLVMAnalysis.a(ProfileDataLoaderPass.o):
libLLVMAnalysis.a(ProfileEstimatorPass.o):
libLLVMAnalysis.a(ProfileInfo.o):
libLLVMAnalysis.a(ProfileInfoLoader.o):
libLLVMAnalysis.a(ProfileInfoLoaderPass.o):
libLLVMAnalysis.a(ProfileVerifierPass.o):
libLLVMAnalysis.a(RegionInfo.o):
libLLVMAnalysis.a(RegionPass.o):
libLLVMAnalysis.a(RegionPrinter.o):
libLLVMAnalysis.a(ScalarEvolution.o):
libLLVMAnalysis.a(ScalarEvolutionAliasAnalysis.o):
libLLVMAnalysis.a(ScalarEvolutionExpander.o):
libLLVMAnalysis.a(ScalarEvolutionNormalization.o):
libLLVMAnalysis.a(SparsePropagation.o):
libLLVMAnalysis.a(Trace.o):
libLLVMAnalysis.a(TypeBasedAliasAnalysis.o):
libLLVMAnalysis.a(ValueTracking.o):
libLLVMArchive.a(Archive.o):
libLLVMArchive.a(ArchiveReader.o):
libLLVMArchive.a(ArchiveWriter.o):
libLLVMAsmParser.a(LLLexer.o):
libLLVMAsmParser.a(LLParser.o):
libLLVMAsmParser.a(Parser.o):
libLLVMAsmPrinter.a(ARMException.o):
libLLVMAsmPrinter.a(AsmPrinter.o):
libLLVMAsmPrinter.a(AsmPrinterDwarf.o):
libLLVMAsmPrinter.a(AsmPrinterInlineAsm.o):
libLLVMAsmPrinter.a(DIE.o):
libLLVMAsmPrinter.a(DwarfAccelTable.o):
libLLVMAsmPrinter.a(DwarfCFIException.o):
libLLVMAsmPrinter.a(DwarfCompileUnit.o):
libLLVMAsmPrinter.a(DwarfDebug.o):
libLLVMAsmPrinter.a(DwarfException.o):
libLLVMAsmPrinter.a(OcamlGCPrinter.o):
libLLVMAsmPrinter.a(Win64Exception.o):
libLLVMBitReader.a(BitReader.o):
libLLVMBitReader.a(BitcodeReader.o):
libLLVMBitWriter.a(BitWriter.o):
libLLVMBitWriter.a(BitcodeWriter.o):
libLLVMBitWriter.a(BitcodeWriterPass.o):
libLLVMBitWriter.a(ValueEnumerator.o):
libLLVMCodeGen.a(AggressiveAntiDepBreaker.o):
libLLVMCodeGen.a(AllocationOrder.o):
libLLVMCodeGen.a(Analysis.o):
libLLVMCodeGen.a(BranchFolding.o):
libLLVMCodeGen.a(CalcSpillWeights.o):
libLLVMCodeGen.a(CallingConvLower.o):
libLLVMCodeGen.a(CodeGen.o):
libLLVMCodeGen.a(CodePlacementOpt.o):
libLLVMCodeGen.a(CriticalAntiDepBreaker.o):
libLLVMCodeGen.a(DFAPacketizer.o):
libLLVMCodeGen.a(DeadMachineInstructionElim.o):
libLLVMCodeGen.a(DwarfEHPrepare.o):
libLLVMCodeGen.a(EarlyIfConversion.o):
libLLVMCodeGen.a(EdgeBundles.o):
libLLVMCodeGen.a(ExecutionDepsFix.o):
libLLVMCodeGen.a(ExpandISelPseudos.o):
libLLVMCodeGen.a(ExpandPostRAPseudos.o):
libLLVMCodeGen.a(GCMetadata.o):
libLLVMCodeGen.a(GCMetadataPrinter.o):
libLLVMCodeGen.a(GCStrategy.o):
libLLVMCodeGen.a(IfConversion.o):
libLLVMCodeGen.a(InlineSpiller.o):
libLLVMCodeGen.a(InterferenceCache.o):
libLLVMCodeGen.a(IntrinsicLowering.o):
libLLVMCodeGen.a(JITCodeEmitter.o):
libLLVMCodeGen.a(LLVMTargetMachine.o):
libLLVMCodeGen.a(LatencyPriorityQueue.o):
libLLVMCodeGen.a(LexicalScopes.o):
libLLVMCodeGen.a(LiveDebugVariables.o):
libLLVMCodeGen.a(LiveInterval.o):
libLLVMCodeGen.a(LiveIntervalAnalysis.o):
libLLVMCodeGen.a(LiveIntervalUnion.o):
libLLVMCodeGen.a(LiveRangeCalc.o):
libLLVMCodeGen.a(LiveRangeEdit.o):
libLLVMCodeGen.a(LiveRegMatrix.o):
libLLVMCodeGen.a(LiveStackAnalysis.o):
libLLVMCodeGen.a(LiveVariables.o):
libLLVMCodeGen.a(LocalStackSlotAllocation.o):
libLLVMCodeGen.a(MachineBasicBlock.o):
libLLVMCodeGen.a(MachineBlockFrequencyInfo.o):
libLLVMCodeGen.a(MachineBlockPlacement.o):
libLLVMCodeGen.a(MachineBranchProbabilityInfo.o):
libLLVMCodeGen.a(MachineCSE.o):
libLLVMCodeGen.a(MachineCodeEmitter.o):
libLLVMCodeGen.a(MachineCopyPropagation.o):
libLLVMCodeGen.a(MachineDominators.o):
libLLVMCodeGen.a(MachineFunction.o):
libLLVMCodeGen.a(MachineFunctionAnalysis.o):
libLLVMCodeGen.a(MachineFunctionPass.o):
libLLVMCodeGen.a(MachineFunctionPrinterPass.o):
libLLVMCodeGen.a(MachineInstr.o):
libLLVMCodeGen.a(MachineInstrBundle.o):
libLLVMCodeGen.a(MachineLICM.o):
libLLVMCodeGen.a(MachineLoopInfo.o):
libLLVMCodeGen.a(MachineLoopRanges.o):
libLLVMCodeGen.a(MachineModuleInfo.o):
libLLVMCodeGen.a(MachineModuleInfoImpls.o):
libLLVMCodeGen.a(MachinePassRegistry.o):
libLLVMCodeGen.a(MachinePostDominators.o):
libLLVMCodeGen.a(MachineRegisterInfo.o):
libLLVMCodeGen.a(MachineSSAUpdater.o):
libLLVMCodeGen.a(MachineScheduler.o):
libLLVMCodeGen.a(MachineSink.o):
libLLVMCodeGen.a(MachineTraceMetrics.o):
libLLVMCodeGen.a(MachineVerifier.o):
libLLVMCodeGen.a(OcamlGC.o):
libLLVMCodeGen.a(OptimizePHIs.o):
libLLVMCodeGen.a(PHIElimination.o):
libLLVMCodeGen.a(PHIEliminationUtils.o):
libLLVMCodeGen.a(Passes.o):
libLLVMCodeGen.a(PeepholeOptimizer.o):
libLLVMCodeGen.a(PostRASchedulerList.o):
libLLVMCodeGen.a(ProcessImplicitDefs.o):
libLLVMCodeGen.a(PrologEpilogInserter.o):
libLLVMCodeGen.a(PseudoSourceValue.o):
libLLVMCodeGen.a(RegAllocBase.o):
libLLVMCodeGen.a(RegAllocBasic.o):
libLLVMCodeGen.a(RegAllocFast.o):
libLLVMCodeGen.a(RegAllocGreedy.o):
libLLVMCodeGen.a(RegAllocPBQP.o):
libLLVMCodeGen.a(RegisterClassInfo.o):
libLLVMCodeGen.a(RegisterCoalescer.o):
libLLVMCodeGen.a(RegisterPressure.o):
libLLVMCodeGen.a(RegisterScavenging.o):
libLLVMCodeGen.a(ScheduleDAG.o):
libLLVMCodeGen.a(ScheduleDAGInstrs.o):
libLLVMCodeGen.a(ScheduleDAGPrinter.o):
libLLVMCodeGen.a(ScoreboardHazardRecognizer.o):
libLLVMCodeGen.a(ShadowStackGC.o):
libLLVMCodeGen.a(ShrinkWrapping.o):
libLLVMCodeGen.a(SjLjEHPrepare.o):
libLLVMCodeGen.a(SlotIndexes.o):
libLLVMCodeGen.a(SpillPlacement.o):
libLLVMCodeGen.a(Spiller.o):
libLLVMCodeGen.a(SplitKit.o):
libLLVMCodeGen.a(StackColoring.o):
libLLVMCodeGen.a(StackProtector.o):
libLLVMCodeGen.a(StackSlotColoring.o):
libLLVMCodeGen.a(StrongPHIElimination.o):
libLLVMCodeGen.a(TailDuplication.o):
libLLVMCodeGen.a(TargetFrameLoweringImpl.o):
libLLVMCodeGen.a(TargetInstrInfoImpl.o):
libLLVMCodeGen.a(TargetLoweringObjectFileImpl.o):
libLLVMCodeGen.a(TargetOptionsImpl.o):
libLLVMCodeGen.a(TargetSchedule.o):
libLLVMCodeGen.a(TwoAddressInstructionPass.o):
libLLVMCodeGen.a(UnreachableBlockElim.o):
libLLVMCodeGen.a(VirtRegMap.o):
libLLVMCore.a(AsmWriter.o):
libLLVMCore.a(Attributes.o):
libLLVMCore.a(AutoUpgrade.o):
libLLVMCore.a(BasicBlock.o):
libLLVMCore.a(ConstantFold.o):
libLLVMCore.a(Constants.o):
libLLVMCore.a(Core.o):
libLLVMCore.a(DIBuilder.o):
libLLVMCore.a(DataLayout.o):
libLLVMCore.a(DebugInfo.o):
libLLVMCore.a(DebugLoc.o):
libLLVMCore.a(Dominators.o):
libLLVMCore.a(Function.o):
libLLVMCore.a(GCOV.o):
libLLVMCore.a(GVMaterializer.o):
libLLVMCore.a(Globals.o):
libLLVMCore.a(IRBuilder.o):
libLLVMCore.a(InlineAsm.o):
libLLVMCore.a(Instruction.o):
libLLVMCore.a(Instructions.o):
libLLVMCore.a(IntrinsicInst.o):
libLLVMCore.a(LLVMContext.o):
libLLVMCore.a(LLVMContextImpl.o):
libLLVMCore.a(LeakDetector.o):
libLLVMCore.a(Metadata.o):
libLLVMCore.a(Module.o):
libLLVMCore.a(Pass.o):
libLLVMCore.a(PassManager.o):
libLLVMCore.a(PassRegistry.o):
libLLVMCore.a(PrintModulePass.o):
libLLVMCore.a(TargetTransformInfo.o):
libLLVMCore.a(Type.o):
libLLVMCore.a(TypeFinder.o):
libLLVMCore.a(Use.o):
libLLVMCore.a(User.o):
libLLVMCore.a(Value.o):
libLLVMCore.a(ValueSymbolTable.o):
libLLVMCore.a(ValueTypes.o):
libLLVMCore.a(Verifier.o):
libLLVMDebugInfo.a(DIContext.o):
libLLVMDebugInfo.a(DWARFAbbreviationDeclaration.o):
libLLVMDebugInfo.a(DWARFCompileUnit.o):
libLLVMDebugInfo.a(DWARFContext.o):
libLLVMDebugInfo.a(DWARFDebugAbbrev.o):
libLLVMDebugInfo.a(DWARFDebugArangeSet.o):
libLLVMDebugInfo.a(DWARFDebugAranges.o):
libLLVMDebugInfo.a(DWARFDebugInfoEntry.o):
libLLVMDebugInfo.a(DWARFDebugLine.o):
libLLVMDebugInfo.a(DWARFDebugRangeList.o):
libLLVMDebugInfo.a(DWARFFormValue.o):
libLLVMExecutionEngine.a(ExecutionEngine.o):
libLLVMExecutionEngine.a(ExecutionEngineBindings.o):
libLLVMExecutionEngine.a(TargetSelect.o):
libLLVMInstCombine.a(InstCombineAddSub.o):
libLLVMInstCombine.a(InstCombineAndOrXor.o):
libLLVMInstCombine.a(InstCombineCalls.o):
libLLVMInstCombine.a(InstCombineCasts.o):
libLLVMInstCombine.a(InstCombineCompares.o):
libLLVMInstCombine.a(InstCombineLoadStoreAlloca.o):
libLLVMInstCombine.a(InstCombineMulDivRem.o):
libLLVMInstCombine.a(InstCombinePHI.o):
libLLVMInstCombine.a(InstCombineSelect.o):
libLLVMInstCombine.a(InstCombineShifts.o):
libLLVMInstCombine.a(InstCombineSimplifyDemanded.o):
libLLVMInstCombine.a(InstCombineVectorOps.o):
libLLVMInstCombine.a(InstructionCombining.o):
libLLVMInstrumentation.a(AddressSanitizer.o):
libLLVMInstrumentation.a(BlackList.o):
libLLVMInstrumentation.a(BoundsChecking.o):
libLLVMInstrumentation.a(EdgeProfiling.o):
libLLVMInstrumentation.a(GCOVProfiling.o):
libLLVMInstrumentation.a(Instrumentation.o):
libLLVMInstrumentation.a(OptimalEdgeProfiling.o):
libLLVMInstrumentation.a(PathProfiling.o):
libLLVMInstrumentation.a(ProfilingUtils.o):
libLLVMInstrumentation.a(ThreadSanitizer.o):
libLLVMInterpreter.a(Execution.o):
libLLVMInterpreter.a(ExternalFunctions.o):
libLLVMInterpreter.a(Interpreter.o):
libLLVMJIT.a(JIT.o):
libLLVMJIT.a(JITDwarfEmitter.o):
libLLVMJIT.a(JITEmitter.o):
libLLVMJIT.a(JITMemoryManager.o):
libLLVMLinker.a(LinkArchives.o):
libLLVMLinker.a(LinkItems.o):
libLLVMLinker.a(LinkModules.o):
libLLVMLinker.a(Linker.o):
libLLVMMC.a(ELFObjectWriter.o):
libLLVMMC.a(MCAsmBackend.o):
libLLVMMC.a(MCAsmInfo.o):
libLLVMMC.a(MCAsmInfoCOFF.o):
libLLVMMC.a(MCAsmInfoDarwin.o):
libLLVMMC.a(MCAsmStreamer.o):
libLLVMMC.a(MCAssembler.o):
libLLVMMC.a(MCAtom.o):
libLLVMMC.a(MCCodeEmitter.o):
libLLVMMC.a(MCCodeGenInfo.o):
libLLVMMC.a(MCContext.o):
libLLVMMC.a(MCDisassembler.o):
libLLVMMC.a(MCDwarf.o):
libLLVMMC.a(MCELF.o):
libLLVMMC.a(MCELFObjectTargetWriter.o):
libLLVMMC.a(MCELFStreamer.o):
libLLVMMC.a(MCExpr.o):
libLLVMMC.a(MCInst.o):
libLLVMMC.a(MCInstPrinter.o):
libLLVMMC.a(MCInstrAnalysis.o):
libLLVMMC.a(MCLabel.o):
libLLVMMC.a(MCMachOStreamer.o):
libLLVMMC.a(MCMachObjectTargetWriter.o):
libLLVMMC.a(MCModule.o):
libLLVMMC.a(MCNullStreamer.o):
libLLVMMC.a(MCObjectFileInfo.o):
libLLVMMC.a(MCObjectStreamer.o):
libLLVMMC.a(MCObjectWriter.o):
libLLVMMC.a(MCPureStreamer.o):
libLLVMMC.a(MCRegisterInfo.o):
libLLVMMC.a(MCSection.o):
libLLVMMC.a(MCSectionCOFF.o):
libLLVMMC.a(MCSectionELF.o):
libLLVMMC.a(MCSectionMachO.o):
libLLVMMC.a(MCStreamer.o):
libLLVMMC.a(MCSubtargetInfo.o):
libLLVMMC.a(MCSymbol.o):
libLLVMMC.a(MCTargetAsmLexer.o):
libLLVMMC.a(MCValue.o):
libLLVMMC.a(MCWin64EH.o):
libLLVMMC.a(MachObjectWriter.o):
libLLVMMC.a(SubtargetFeature.o):
libLLVMMC.a(WinCOFFObjectWriter.o):
libLLVMMC.a(WinCOFFStreamer.o):
libLLVMMCDisassembler.a(Disassembler.o):
libLLVMMCDisassembler.a(EDDisassembler.o):
libLLVMMCDisassembler.a(EDInst.o):
libLLVMMCDisassembler.a(EDMain.o):
libLLVMMCDisassembler.a(EDOperand.o):
libLLVMMCDisassembler.a(EDToken.o):
libLLVMMCJIT.a(MCJIT.o):
libLLVMMCParser.a(AsmLexer.o):
libLLVMMCParser.a(AsmParser.o):
libLLVMMCParser.a(COFFAsmParser.o):
libLLVMMCParser.a(DarwinAsmParser.o):
libLLVMMCParser.a(ELFAsmParser.o):
libLLVMMCParser.a(MCAsmLexer.o):
libLLVMMCParser.a(MCAsmParser.o):
libLLVMMCParser.a(MCAsmParserExtension.o):
libLLVMMCParser.a(MCTargetAsmParser.o):
libLLVMObject.a(Archive.o):
libLLVMObject.a(Binary.o):
libLLVMObject.a(COFFObjectFile.o):
libLLVMObject.a(ELFObjectFile.o):
libLLVMObject.a(Error.o):
libLLVMObject.a(MachOObject.o):
libLLVMObject.a(MachOObjectFile.o):
libLLVMObject.a(Object.o):
libLLVMObject.a(ObjectFile.o):
libLLVMRuntimeDyld.a(GDBRegistrar.o):
libLLVMRuntimeDyld.a(RuntimeDyld.o):
libLLVMRuntimeDyld.a(RuntimeDyldELF.o):
libLLVMRuntimeDyld.a(RuntimeDyldMachO.o):
libLLVMScalarOpts.a(ADCE.o):
libLLVMScalarOpts.a(BasicBlockPlacement.o):
libLLVMScalarOpts.a(CodeGenPrepare.o):
libLLVMScalarOpts.a(ConstantProp.o):
libLLVMScalarOpts.a(CorrelatedValuePropagation.o):
libLLVMScalarOpts.a(DCE.o):
libLLVMScalarOpts.a(DeadStoreElimination.o):
libLLVMScalarOpts.a(EarlyCSE.o):
libLLVMScalarOpts.a(GVN.o):
libLLVMScalarOpts.a(GlobalMerge.o):
libLLVMScalarOpts.a(IndVarSimplify.o):
libLLVMScalarOpts.a(JumpThreading.o):
libLLVMScalarOpts.a(LICM.o):
libLLVMScalarOpts.a(LoopDeletion.o):
libLLVMScalarOpts.a(LoopIdiomRecognize.o):
libLLVMScalarOpts.a(LoopInstSimplify.o):
libLLVMScalarOpts.a(LoopRotation.o):
libLLVMScalarOpts.a(LoopStrengthReduce.o):
libLLVMScalarOpts.a(LoopUnrollPass.o):
libLLVMScalarOpts.a(LoopUnswitch.o):
libLLVMScalarOpts.a(LowerAtomic.o):
libLLVMScalarOpts.a(MemCpyOptimizer.o):
libLLVMScalarOpts.a(ObjCARC.o):
libLLVMScalarOpts.a(Reassociate.o):
libLLVMScalarOpts.a(Reg2Mem.o):
libLLVMScalarOpts.a(SCCP.o):
libLLVMScalarOpts.a(SROA.o):
libLLVMScalarOpts.a(Scalar.o):
libLLVMScalarOpts.a(ScalarReplAggregates.o):
libLLVMScalarOpts.a(SimplifyCFGPass.o):
libLLVMScalarOpts.a(SimplifyLibCalls.o):
libLLVMScalarOpts.a(Sink.o):
libLLVMScalarOpts.a(TailRecursionElimination.o):
libLLVMSelectionDAG.a(DAGCombiner.o):
libLLVMSelectionDAG.a(FastISel.o):
libLLVMSelectionDAG.a(FunctionLoweringInfo.o):
libLLVMSelectionDAG.a(InstrEmitter.o):
libLLVMSelectionDAG.a(LegalizeDAG.o):
libLLVMSelectionDAG.a(LegalizeFloatTypes.o):
libLLVMSelectionDAG.a(LegalizeIntegerTypes.o):
libLLVMSelectionDAG.a(LegalizeTypes.o):
libLLVMSelectionDAG.a(LegalizeTypesGeneric.o):
libLLVMSelectionDAG.a(LegalizeVectorOps.o):
libLLVMSelectionDAG.a(LegalizeVectorTypes.o):
libLLVMSelectionDAG.a(ResourcePriorityQueue.o):
libLLVMSelectionDAG.a(ScheduleDAGFast.o):
libLLVMSelectionDAG.a(ScheduleDAGRRList.o):
libLLVMSelectionDAG.a(ScheduleDAGSDNodes.o):
libLLVMSelectionDAG.a(ScheduleDAGVLIW.o):
libLLVMSelectionDAG.a(SelectionDAG.o):
libLLVMSelectionDAG.a(SelectionDAGBuilder.o):
libLLVMSelectionDAG.a(SelectionDAGDumper.o):
libLLVMSelectionDAG.a(SelectionDAGISel.o):
libLLVMSelectionDAG.a(SelectionDAGPrinter.o):
libLLVMSelectionDAG.a(TargetLowering.o):
libLLVMSelectionDAG.a(TargetSelectionDAGInfo.o):
libLLVMSupport.a(APFloat.o):
libLLVMSupport.a(APInt.o):
libLLVMSupport.a(APSInt.o):
libLLVMSupport.a(Allocator.o):
libLLVMSupport.a(Atomic.o):
libLLVMSupport.a(BlockFrequency.o):
libLLVMSupport.a(BranchProbability.o):
libLLVMSupport.a(CommandLine.o):
libLLVMSupport.a(ConstantRange.o):
libLLVMSupport.a(CrashRecoveryContext.o):
libLLVMSupport.a(DAGDeltaAlgorithm.o):
libLLVMSupport.a(DataExtractor.o):
libLLVMSupport.a(DataStream.o):
libLLVMSupport.a(Debug.o):
libLLVMSupport.a(DeltaAlgorithm.o):
libLLVMSupport.a(Disassembler.o):
libLLVMSupport.a(Dwarf.o):
libLLVMSupport.a(DynamicLibrary.o):
libLLVMSupport.a(Errno.o):
libLLVMSupport.a(ErrorHandling.o):
libLLVMSupport.a(FileOutputBuffer.o):
libLLVMSupport.a(FileUtilities.o):
libLLVMSupport.a(FoldingSet.o):
libLLVMSupport.a(FormattedStream.o):
libLLVMSupport.a(GraphWriter.o):
libLLVMSupport.a(Hashing.o):
libLLVMSupport.a(Host.o):
libLLVMSupport.a(IncludeFile.o):
libLLVMSupport.a(IntEqClasses.o):
libLLVMSupport.a(IntervalMap.o):
libLLVMSupport.a(IntrusiveRefCntPtr.o):
libLLVMSupport.a(IsInf.o):
libLLVMSupport.a(IsNAN.o):
libLLVMSupport.a(Locale.o):
libLLVMSupport.a(LockFileManager.o):
libLLVMSupport.a(ManagedStatic.o):
libLLVMSupport.a(Memory.o):
libLLVMSupport.a(MemoryBuffer.o):
libLLVMSupport.a(MemoryObject.o):
libLLVMSupport.a(Mutex.o):
libLLVMSupport.a(Path.o):
libLLVMSupport.a(PathV2.o):
libLLVMSupport.a(PluginLoader.o):
libLLVMSupport.a(PrettyStackTrace.o):
libLLVMSupport.a(Process.o):
libLLVMSupport.a(Program.o):
libLLVMSupport.a(RWMutex.o):
libLLVMSupport.a(Regex.o):
libLLVMSupport.a(SearchForAddressOfSpecialSymbol.o):
libLLVMSupport.a(Signals.o):
libLLVMSupport.a(SmallPtrSet.o):
libLLVMSupport.a(SmallVector.o):
libLLVMSupport.a(SourceMgr.o):
libLLVMSupport.a(Statistic.o):
libLLVMSupport.a(StreamableMemoryObject.o):
libLLVMSupport.a(StringExtras.o):
libLLVMSupport.a(StringMap.o):
libLLVMSupport.a(StringPool.o):
libLLVMSupport.a(StringRef.o):
libLLVMSupport.a(SystemUtils.o):
libLLVMSupport.a(TargetRegistry.o):
libLLVMSupport.a(ThreadLocal.o):
libLLVMSupport.a(Threading.o):
libLLVMSupport.a(TimeValue.o):
libLLVMSupport.a(Timer.o):
libLLVMSupport.a(ToolOutputFile.o):
libLLVMSupport.a(Triple.o):
libLLVMSupport.a(Twine.o):
libLLVMSupport.a(Valgrind.o):
libLLVMSupport.a(YAMLParser.o):
libLLVMSupport.a(circular_raw_ostream.o):
libLLVMSupport.a(raw_os_ostream.o):
libLLVMSupport.a(raw_ostream.o):
libLLVMSupport.a(regcomp.o):
libLLVMSupport.a(regerror.o):
libLLVMSupport.a(regexec.o):
libLLVMSupport.a(regfree.o):
libLLVMSupport.a(regstrlcpy.o):
libLLVMSupport.a(system_error.o):
libLLVMTableGen.a(Error.o):
libLLVMTableGen.a(Main.o):
libLLVMTableGen.a(Record.o):
libLLVMTableGen.a(StringMatcher.o):
libLLVMTableGen.a(TGLexer.o):
libLLVMTableGen.a(TGParser.o):
libLLVMTableGen.a(TableGenBackend.o):
libLLVMTarget.a(Mangler.o):
libLLVMTarget.a(Target.o):
libLLVMTarget.a(TargetInstrInfo.o):
libLLVMTarget.a(TargetIntrinsicInfo.o):
libLLVMTarget.a(TargetJITInfo.o):
libLLVMTarget.a(TargetLibraryInfo.o):
libLLVMTarget.a(TargetLoweringObjectFile.o):
libLLVMTarget.a(TargetMachine.o):
libLLVMTarget.a(TargetMachineC.o):
libLLVMTarget.a(TargetRegisterInfo.o):
libLLVMTarget.a(TargetSubtargetInfo.o):
libLLVMTarget.a(TargetTransformImpl.o):
libLLVMTransformUtils.a(AddrModeMatcher.o):
libLLVMTransformUtils.a(BasicBlockUtils.o):
libLLVMTransformUtils.a(BreakCriticalEdges.o):
libLLVMTransformUtils.a(BuildLibCalls.o):
libLLVMTransformUtils.a(BypassSlowDivision.o):
libLLVMTransformUtils.a(CloneFunction.o):
libLLVMTransformUtils.a(CloneModule.o):
libLLVMTransformUtils.a(CmpInstAnalysis.o):
libLLVMTransformUtils.a(CodeExtractor.o):
libLLVMTransformUtils.a(DemoteRegToStack.o):
libLLVMTransformUtils.a(InlineFunction.o):
libLLVMTransformUtils.a(InstructionNamer.o):
libLLVMTransformUtils.a(IntegerDivision.o):
libLLVMTransformUtils.a(LCSSA.o):
libLLVMTransformUtils.a(Local.o):
libLLVMTransformUtils.a(LoopSimplify.o):
libLLVMTransformUtils.a(LoopUnroll.o):
libLLVMTransformUtils.a(LoopUnrollRuntime.o):
libLLVMTransformUtils.a(LowerExpectIntrinsic.o):
libLLVMTransformUtils.a(LowerInvoke.o):
libLLVMTransformUtils.a(LowerSwitch.o):
libLLVMTransformUtils.a(Mem2Reg.o):
libLLVMTransformUtils.a(MetaRenamer.o):
libLLVMTransformUtils.a(ModuleUtils.o):
libLLVMTransformUtils.a(PromoteMemoryToRegister.o):
libLLVMTransformUtils.a(SSAUpdater.o):
libLLVMTransformUtils.a(SimplifyCFG.o):
libLLVMTransformUtils.a(SimplifyIndVar.o):
libLLVMTransformUtils.a(SimplifyInstructions.o):
libLLVMTransformUtils.a(SimplifyLibCalls.o):
libLLVMTransformUtils.a(UnifyFunctionExitNodes.o):
libLLVMTransformUtils.a(Utils.o):
libLLVMTransformUtils.a(ValueMapper.o):
libLLVMVectorize.a(BBVectorize.o):
libLLVMVectorize.a(LoopVectorize.o):
libLLVMVectorize.a(Vectorize.o):
libLLVMX86AsmParser.a(X86AsmLexer.o):
libLLVMX86AsmParser.a(X86AsmParser.o):
libLLVMX86AsmPrinter.a(X86ATTInstPrinter.o):
libLLVMX86AsmPrinter.a(X86InstComments.o):
libLLVMX86AsmPrinter.a(X86IntelInstPrinter.o):
libLLVMX86CodeGen.a(X86AsmPrinter.o):
libLLVMX86CodeGen.a(X86COFFMachineModuleInfo.o):
libLLVMX86CodeGen.a(X86CodeEmitter.o):
libLLVMX86CodeGen.a(X86FastISel.o):
libLLVMX86CodeGen.a(X86FloatingPoint.o):
libLLVMX86CodeGen.a(X86FrameLowering.o):
libLLVMX86CodeGen.a(X86ISelDAGToDAG.o):
libLLVMX86CodeGen.a(X86ISelLowering.o):
libLLVMX86CodeGen.a(X86InstrInfo.o):
libLLVMX86CodeGen.a(X86JITInfo.o):
libLLVMX86CodeGen.a(X86MCInstLower.o):
libLLVMX86CodeGen.a(X86MachineFunctionInfo.o):
libLLVMX86CodeGen.a(X86RegisterInfo.o):
libLLVMX86CodeGen.a(X86SelectionDAGInfo.o):
libLLVMX86CodeGen.a(X86Subtarget.o):
libLLVMX86CodeGen.a(X86TargetMachine.o):
libLLVMX86CodeGen.a(X86TargetObjectFile.o):
libLLVMX86CodeGen.a(X86VZeroUpper.o):
libLLVMX86Desc.a(X86AsmBackend.o):
libLLVMX86Desc.a(X86ELFObjectWriter.o):
libLLVMX86Desc.a(X86MCAsmInfo.o):
libLLVMX86Desc.a(X86MCCodeEmitter.o):
libLLVMX86Desc.a(X86MCTargetDesc.o):
libLLVMX86Desc.a(X86MachObjectWriter.o):
libLLVMX86Desc.a(X86WinCOFFObjectWriter.o):
libLLVMX86Disassembler.a(X86Disassembler.o):
libLLVMX86Disassembler.a(X86DisassemblerDecoder.o):
libLLVMX86Info.a(X86TargetInfo.o):
libLLVMX86Utils.a(X86ShuffleDecode.o):
libLLVMipa.a(CallGraph.o):
libLLVMipa.a(CallGraphSCCPass.o):
libLLVMipa.a(FindUsedTypes.o):
libLLVMipa.a(GlobalsModRef.o):
libLLVMipa.a(IPA.o):
libLLVMipo.a(ArgumentPromotion.o):
libLLVMipo.a(BarrierNoopPass.o):
libLLVMipo.a(ConstantMerge.o):
libLLVMipo.a(DeadArgumentElimination.o):
libLLVMipo.a(ExtractGV.o):
libLLVMipo.a(FunctionAttrs.o):
libLLVMipo.a(GlobalDCE.o):
libLLVMipo.a(GlobalOpt.o):
libLLVMipo.a(IPConstantPropagation.o):
libLLVMipo.a(IPO.o):
libLLVMipo.a(InlineAlways.o):
libLLVMipo.a(InlineSimple.o):
libLLVMipo.a(Inliner.o):
libLLVMipo.a(Internalize.o):
libLLVMipo.a(LoopExtractor.o):
libLLVMipo.a(MergeFunctions.o):
libLLVMipo.a(PartialInlining.o):
libLLVMipo.a(PassManagerBuilder.o):
libLLVMipo.a(PruneEH.o):
libLLVMipo.a(StripDeadPrototypes.o):
libLLVMipo.a(StripSymbols.o):
libLTO.a(LTOCodeGenerator.o):
libLTO.a(LTOModule.o):
libLTO.a(lto.o):
libLTO.dylib:
libprofile_rt.a(BasicBlockTracing.o):
libprofile_rt.a(CommonProfiling.o):
libprofile_rt.a(EdgeProfiling.o):
libprofile_rt.a(GCDAProfiling.o):
libprofile_rt.a(OptimalEdgeProfiling.o):
libprofile_rt.a(PathProfiling.o):
libprofile_rt.dylib:

@staticfloat
Copy link
Owner

Yeap, your LLVM install is definitely fine. I just realized there is another tool I can use; can you edit your julia.rb file at line 125; change it from:

build_opts << "FC=#{ENV['FC']}"

to:

build_opts << "FC=#{ENV['FC']}"
build_opts << "USE_QUIET=0"

This'll make Julia spit out a lot more stuff. Compile with verbose mode turned on after that, and it shuold (hopefully) give us the command that is causing the error. I want to see what options are being passed to the compiler and linker for that step, as I don't understand why it's looking for a nonexistent library. Thanks!

@nilsbecker
Copy link
Author

ok, tried the julia install again after editing as above. https://gist.github.com/nilsbecker/fb820a316d34f9232f23

@staticfloat
Copy link
Owner

You ran into the core2 bug again. This should have been fixed in the latest brew, can you brew update again? If that doesn't work, can you export the variables defined up above again:

$ export FCFLAGS="-Os -w -pipe -mmacosx-version-min=10.7"
$ export FC=/usr/local/bin/gfortran
$ brew install -v --HEAD julia

@nilsbecker
Copy link
Author

d'oh. i thought those were still set. since brew update complained about not wanting to overwrite the julia.rb file, i exported the env variables as per the above and ran the verbose install again. updated gist:
https://gist.github.com/nilsbecker/fb820a316d34f9232f23

@nilsbecker
Copy link
Author

btw. how do i force brew to overwrite my edited formula?

@staticfloat
Copy link
Owner

Wow, I never saw these last comments. I'm sorry. If brew doesn't want to overwrite your edited formula, there's likely a permissions issue with your homebrew installation. Did you install it as root perhaps? brew has some pretty good rationale as to why you shouldn't have /usr/local/ owned by root.

Out of curiosity, what does brew doctor say? I'm a little despairing if we can ever get julia to link with LLVM properly, but the fact that you can't overwrite your julia formula is a little strange.

@staticfloat
Copy link
Owner

Also, I updated the title to reflect the actual problem here.

@nilsbecker
Copy link
Author

@staticfloat thanks for following up.
no, my /usr/local is owned by my regular user as recommended. the refusal of brew to update was a precaution since my manual edits to the formula were apparently detected. since then i moved my manual formula away, and brew update runs.

brew doctor complains about additional config scripts existing on my system outside of homebrew. these are all from third party software (anaconda python distro) this actually includes a config file for llvm in the bin directory of anaconda, which is also on my $PATH. maybe this is the problem?

that said, after my system upgrade to mountain lion, brew install --HEAD julia currently fails earlier, with

ld: file not found: /usr/local/Cellar/gfortran/4.8.0/gfortran/lib/libgfortran.3.dylib for architecture x86_64

this is already after reinstalling gfortran on mountain lion.

@Lenskiy
Copy link

Lenskiy commented Jun 25, 2013

Make sure you are installing gfortran with --universal parameter.
brew install gfortran --universal
Also check that you have export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH in you ~/.profile.

@staticfloat
Copy link
Owner

The gfortran problem is because when gfortran gets updated, you must recompile arpack, suitesparse and openblas. I don't know a way around this yet.

@nilsbecker
Copy link
Author

ok, did a fresh install of gfortran with --universal flag, and then reinstalled the julia arpack, suitesparse and openblas support packages. now i get

==> Using DSFMT: /Library/Caches/Homebrew/dSFMT-src-2.2.tar.gz
==> make -C contrib -f repackage_system_suitesparse4.make PREFIX=/usr/local/Cell
==> make release PREFIX=/usr/local/Cellar/julia/HEAD USE_BLAS64=0 FC=/usr/local/
    CC src/flisp/flmain.o
    LINK src/flisp/libflisp.a
    CC src/flisp/flisp
make[1]: *** [julia-release] Error 2
make: *** [release] Error 2

@staticfloat
Copy link
Owner

Please install with brew install -v --HEAD julia so I can see what's going on, and paste the whole log. The error isn't shown here.

I would also think that your llvm problems may be caused by your llvm stuff from anaconda. If this ends up being the same LLVM error, can you try removing those files (backing them up, of course, I don't want you to mess up your other software!) and reinstalling?

@Lenskiy
Copy link

Lenskiy commented Jun 25, 2013

I think I am getting the same error. Please check if the error you are getting is
codegen.cpp:23:10: fatal error: 'llvm/DerivedTypes.h' file not found #include "llvm/DerivedTypes.h"

If it is, then the problem is in llvm version. LLVM 3.2 installs headers to
/usr/local//Cellar_/llvm/3.2/include/llvm/
however the newer version 3.3 installs to
/usr/local//Cellar/llvm/3.3/include/llvm/IR/

@nilsbecker
Copy link
Author

@Lenskiy , you were right; i get

codegen.cpp:23:10: fatal error: 'llvm/DerivedTypes.h' file not found
#include "llvm/DerivedTypes.h"
         ^
1 error generated.

so what can i do about the llvm version? i have 3.3 ; is this just a bug in the fomula?

@staticfloat
Copy link
Owner

@nilsbecker; support for llvm 3.3 has just been added to Julia. You can brew update and retry, and it should "just work".

@nilsbecker
Copy link
Author

... and i'm back to the old

ld: library not found for -lLLVMHexagonCodeGen

i have updated the gist at https://gist.github.com/nilsbecker/fb820a316d34f9232f23 with the stdout and stderr.
i noticed that it says USE_SYSTEM_LLVM=1 . is that intended? i definitely have a homebrew-llvm installed.

@staticfloat
Copy link
Owner

Can you try removing those non-homebrew files related to llvm?

@nilsbecker
Copy link
Author

ok, sure, i had forgotten about that.
first thing i am trying is to take the other config files out of the $PATH. because, if they are found wrongly in a random directory, what else can i do? surely it must be possible to have arbitrary files somewhere on my disk without it screwing up the installation?!
so, i do

export PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin  # the non-problematic part of the original $PATH
rm -rf $(brew --cache)
brew install --HEAD -v julia 1>instlog1 2>instlog2

this now gives a different error about some .dylibs not being found. see the same gist

@nilsbecker
Copy link
Author

the other think i could try is move the anaconda base directory somewhere and leave my PATH as it was before. should i try that as well?

@staticfloat
Copy link
Owner

Yes, that's right. You need to move it out of not $PATH, but the places it looks for libraries. $PATH is where it searches for executables. There's a few different ways to control this, but right now, just move them into some random folder and you should be fine.

In general, it would help me if you combined your STDERR and STDOUT into one file, so I can see where the errors match up with the normal output. Right now, it's difficult to tell where the missing file errors are coming from.

I would leave your PATH alone and just move the llvm files away, and see what happens.

@nilsbecker
Copy link
Author

ok, i did that. ie. move $HOME/Apps/anaconda/ to another directory, left the $PATH alone. brew doctor now only finds a single complaint about a config file unrelated to llvm. then

rm -rf $(brew --cache)
brew install --HEAD -v julia 1>instlog21 2>&1

the stdout&err is on https://gist.github.com/nilsbecker/fb820a316d34f9232f23

@staticfloat
Copy link
Owner

Progress! This is a really good sign. This is a problem during Julia's bootstrap phase, (when Julia is building up the system image with precompiled code for everything in base/) unfortunately I don't know how to fix it just right now. (It doesn't happen on my mac). @ViralBShah @StefanKarpinski, have either of you two ever seen this error during bootstrap: File not defined error before?

@staticfloat
Copy link
Owner

Good news; I ran into this problem on a linux box I'm using. Once I narrow down what the cause is, I'll let you know.

@staticfloat
Copy link
Owner

@nilsbecker can you try again? A fix was pushed that will hopefully fix that problem.

@nilsbecker
Copy link
Author

success! there are some warning during install but brew test -v julia passes. this is after moving my anaconda install to another dir. presently trying again with anaconda in $HOME/Apps/ ...

@nilsbecker
Copy link
Author

ok, that still does not work. so the remaining problem is that the julia install does not tolerate other llvm installations such as the one of the anaconda python distribution. (i suspect some people interested in julia will have that installed also)

@ViralBShah
Copy link

We do not do anything special with building llvm - so this may just be a link problem.

@nilsbecker
Copy link
Author

yes, i think it is. i'm just saying that if possible, it would be good to make the julia build process robust against llvm header files outside homebrew. let me know if i can test something..

@staticfloat
Copy link
Owner

I don't think it's the header files that are screwing it up, I think it's the libool .la files that are confusing it. I think I'm going to close this as "no good solution exists right now", because having another global LLVM install seems to be a pretty rare thing. If someone else has this issue, I will come up with some hack to force Julia to link directly to the LLVM we install for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants