<div dir="ltr">try "libcurses"<div><br></div><div>for more hands on support getting ghc working, #ghc on freenode (when people are around) also works</div><div><br></div><div>are you following the cross compilation directions?</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 3, 2014 at 3:04 PM, eng. Vassil Ognyanov Keremidchiev <span dir="ltr"><<a href="mailto:varosi@gmail.com" target="_blank">varosi@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Okay, I got that LLVM is used here to build part of the GHC compiler for x86 and not for ARM directly.<div>

I have installed llvm-3.3 and build processed much longer until this error:</div><div><br><div>configure: error: in `/home/varosi/haskell/ghc/libraries/terminfo':</div>
<div>configure: error: curses library not found, so this package cannot be built</div><div>See `config.log' for more details</div><div>make[1]: *** [libraries/terminfo/dist-install/<a href="http://package-data.mk" target="_blank">package-data.mk</a>] Error 1</div>

<div class="">
<div>make: *** [all] Error 2</div></div></div><div><br></div><div>I didn't found curses library at apt-get or cabal.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-03 21:13 GMT+03:00 eng. Vassil Ognyanov Keremidchiev <span dir="ltr"><<a href="mailto:varosi@gmail.com" target="_blank">varosi@gmail.com</a>></span>:<div>

<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I would like to build GHC as a cross-compiler. So it can still run on x86 Ubuntu, but producing code for ARM v7.<div>


What should I do?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-03 21:05 GMT+03:00 Karel Gardas <span dir="ltr"><<a href="mailto:karel.gardas@centrum.cz" target="_blank">karel.gardas@centrum.cz</a>></span>:<div>


<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
I don't understand why you are trying to cross-compile LLVM? I've though you'd like to cross-compile GHC itself...<br>
<br>
Karel<div><br>
<br>
On 04/ 3/14 08:00 PM, eng. Vassil Ognyanov Keremidchiev wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
May be the problem is:<br>
arm-linux-gnueabi-gcc --version<br>
gives me 4.6.3 ?<br>
<br>
Is it possible to install earlier LLVM version?<br>
<br>
2014-04-03 20:47 GMT+03:00 eng. Vassil Ognyanov Keremidchiev<br></div>
<<a href="mailto:varosi@gmail.com" target="_blank">varosi@gmail.com</a> <mailto:<a href="mailto:varosi@gmail.com" target="_blank">varosi@gmail.com</a>>>:<div><div><br>
<br>
    I'm trying to compile LLVM as is described in:<br>
    <a href="http://bgamari.github.io/posts/cross-compiling_llvm.html" target="_blank">http://bgamari.github.io/<u></u>posts/cross-compiling_llvm.<u></u>html</a><br>
    without success. This is the error:<br>
<br>
    llvm[1]: Compiling StringMatcher.cpp for Debug+Asserts build<br>
    llvm[1]: Compiling TGLexer.cpp for Debug+Asserts build<br>
    llvm[1]: Compiling TGParser.cpp for Debug+Asserts build<br>
    llvm[1]: Compiling TableGenBackend.cpp for Debug+Asserts build<br>
    llvm[1]: Building Debug+Asserts Archive Library libLLVMTableGen.a<br>
    make[1]: Leaving directory<br>
    `/home/varosi/haskell/llvm/<u></u>build/lib/TableGen'<br>
    make[1]: Entering directory `/home/varosi/haskell/llvm/<u></u>build/utils'<br>
    make[2]: Entering directory<br>
    `/home/varosi/haskell/llvm/<u></u>build/utils/FileCheck'<br>
    llvm[2]: Compiling FileCheck.cpp for Debug+Asserts build<br>
    llvm[2]: Linking Debug+Asserts executable FileCheck<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::Option::Option(<u></u>llvm::cl::NumOccurrencesFlag,<br>
    llvm::cl::OptionHidden)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:242:<br>
    undefined reference to `vtable for llvm::cl::Option'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:242:<br>
    undefined reference to `llvm::cl::GeneralCategory'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::Option::~Option()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:281:<br>
    undefined reference to `vtable for llvm::cl::Option'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::GenericOptionValue:<u></u>:~GenericOptionValue()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:356:<br>
    undefined reference to `vtable for llvm::cl::GenericOptionValue'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::OptionValue<std::<u></u>string>::OptionValue()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:461:<br>
    undefined reference to `vtable for llvm::cl::OptionValue<std::<u></u>string>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::basic_parser_impl::<u></u>~basic_parser_impl()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:702:<br>
    undefined reference to `vtable for llvm::cl::basic_parser_impl'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function<br>
    `llvm::<u></u>PrettyStackTraceProgram::<u></u>PrettyStackTraceProgram(int, char<br>
    const* const*)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>PrettyStackTrace.h:63: undefined<br>
    reference to `llvm::PrettyStackTraceEntry::<u></u>PrettyStackTraceEntry()'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>PrettyStackTrace.h:63: undefined<br>
    reference to `vtable for llvm::PrettyStackTraceProgram'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>PrettyStackTrace.h:64: undefined<br>
    reference to `llvm::EnablePrettyStackTrace(<u></u>)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::raw_ostream::operator<<<u></u>(char)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/raw_<u></u>ostream.h:136:<br>
    undefined reference to `llvm::raw_ostream::write(<u></u>unsigned char)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::raw_ostream::operator<<<u></u>(llvm::StringRef)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/raw_<u></u>ostream.h:161:<br>
    undefined reference to `llvm::raw_ostream::write(char const*,<br>
    unsigned long)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::raw_ostream::operator<<<u></u>(std::string const&)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/raw_<u></u>ostream.h:177:<br>
    undefined reference to `llvm::raw_ostream::write(char const*,<br>
    unsigned long)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::ParsePattern(llvm::<u></u>StringRef, llvm::StringRef,<br>
    llvm::SourceMgr&, unsigned int)':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>176:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>182:<br>
    undefined reference to `llvm::StringRef::find(llvm::<u></u>StringRef,<br>
    unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>183:<br>
    undefined reference to `llvm::StringRef::find(llvm::<u></u>StringRef,<br>
    unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>198:<br>
    undefined reference to `llvm::StringRef::find(llvm::<u></u>StringRef,<br>
    unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>202:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>234:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>247:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>260:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>269:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:/home/<u></u>varosi/haskell/llvm/utils/<u></u>FileCheck/FileCheck.cpp:277:<br>
    more undefined references to<br>
    `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const' follow<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::ParsePattern(llvm::<u></u>StringRef, llvm::StringRef,<br>
    llvm::SourceMgr&, unsigned int)':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>313:<br>
    undefined reference to `llvm::StringRef::find(llvm::<u></u>StringRef,<br>
    unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>314:<br>
    undefined reference to `llvm::StringRef::find(llvm::<u></u>StringRef,<br>
    unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>315:<br>
    undefined reference to `llvm::Regex::escape(llvm::<u></u>StringRef)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::AddRegExToRegEx(<u></u>llvm::StringRef, unsigned<br>
    int&, llvm::SourceMgr&)':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>324:<br>
    undefined reference to `llvm::Regex::Regex(llvm::<u></u>StringRef, unsigned<br>
    int)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>326:<br>
    undefined reference to `llvm::Regex::isValid(std::<u></u>string&)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>328:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>333:<br>
    undefined reference to `llvm::Regex::getNumMatches() const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>334:<br>
    undefined reference to `llvm::Regex::~Regex()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::Match(llvm::<u></u>StringRef, unsigned long&,<br>
    llvm::StringMap<llvm::<u></u>StringRef, llvm::MallocAllocator>&) const':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>376:<br>
    undefined reference to `llvm::StringRef::find(llvm::<u></u>StringRef,<br>
    unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>403:<br>
    undefined reference to `llvm::Regex::escape(llvm::<u></u>StringRef)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>418:<br>
    undefined reference to `llvm::Regex::Regex(llvm::<u></u>StringRef, unsigned<br>
    int)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>418:<br>
    undefined reference to `llvm::Regex::match(llvm::<u></u>StringRef,<br>
    llvm::SmallVectorImpl<llvm::<u></u>StringRef>*)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>418:<br>
    undefined reference to `llvm::Regex::~Regex()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::<u></u>ComputeMatchDistance(llvm::<u></u>StringRef,<br>
    llvm::StringMap<llvm::<u></u>StringRef, llvm::MallocAllocator> const&) const':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>452:<br>
    undefined reference to<br>
    `llvm::StringRef::edit_<u></u>distance(llvm::StringRef, bool, unsigned int)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::PrintFailureInfo(<u></u>llvm::SourceMgr const&,<br>
    llvm::StringRef, llvm::StringMap<llvm::<u></u>StringRef,<br>
    llvm::MallocAllocator> const&) const':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>462:<br>
    undefined reference to<br>
    `llvm::raw_svector_ostream::<u></u>raw_svector_ostream(llvm::<u></u>SmallVectorImpl<char>&)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>468:<br>
    undefined reference to<br>
    `llvm::raw_ostream::write_<u></u>escaped(llvm::StringRef, bool)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>469:<br>
    undefined reference to<br>
    `llvm::raw_ostream::write_<u></u>escaped(llvm::StringRef, bool)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>472:<br>
    undefined reference to<br>
    `llvm::raw_ostream::write_<u></u>escaped(llvm::StringRef, bool)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>480:<br>
    undefined reference to<br>
    `llvm::raw_ostream::write_<u></u>escaped(llvm::StringRef, bool)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>483:<br>
    undefined reference to<br>
    `llvm::raw_ostream::write_<u></u>escaped(llvm::StringRef, bool)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:/home/<u></u>varosi/haskell/llvm/utils/<u></u>FileCheck/FileCheck.cpp:484:<br>
    more undefined references to<br>
    `llvm::raw_ostream::write_<u></u>escaped(llvm::StringRef, bool)' follow<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::PrintFailureInfo(<u></u>llvm::SourceMgr const&,<br>
    llvm::StringRef, llvm::StringMap<llvm::<u></u>StringRef,<br>
    llvm::MallocAllocator> const&) const':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>489:<br>
    undefined reference to `llvm::raw_svector_ostream::<u></u>str()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>489:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>490:<br>
    undefined reference to<br>
    `llvm::raw_svector_ostream::~<u></u>raw_svector_ostream()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>527:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `Pattern::FindRegexVarEnd(<u></u>llvm::StringRef,<br>
    llvm::SourceMgr&)':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>558:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `CanonicalizeInputFile':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>655:<br>
    undefined reference to<br>
    `llvm::MemoryBuffer::<u></u>getMemBufferCopy(llvm::<u></u>StringRef, llvm::StringRef)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `CheckTypeSize':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>687:<br>
    undefined reference to `llvm::llvm_unreachable_<u></u>internal(char const*,<br>
    char const*, unsigned int)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>690:<br>
    undefined reference to `llvm::llvm_unreachable_<u></u>internal(char const*,<br>
    char const*, unsigned int)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `FindFirstCandidateMatch':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>748:<br>
    undefined reference to `llvm::StringRef::find(llvm::<u></u>StringRef,<br>
    unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `ReadCheckFile':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>825:<br>
    undefined reference to<br>
    `llvm::MemoryBuffer::<u></u>getFileOrSTDIN(llvm::<u></u>StringRef,<br>
    std::unique_ptr<llvm::<u></u>MemoryBuffer,<br>
    std::default_delete<llvm::<u></u>MemoryBuffer> >&, long)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>827:<br>
    undefined reference to `llvm::error_code::message() const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>826:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>868:<br>
    undefined reference to<br>
    `llvm::StringRef::find_first_<u></u>not_of(llvm::StringRef, unsigned long)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>871:<br>
    undefined reference to<br>
    `llvm::StringRef::find_first_<u></u>of(llvm::StringRef, unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>886:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>897:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>926:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>930:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>932:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>935:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `PrintCheckFailed':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>947:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>951:<br>
    undefined reference to<br>
    `llvm::StringRef::find_first_<u></u>not_of(llvm::StringRef, unsigned long)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>954:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `CountNumNewlinesBetween':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>972:<br>
    undefined reference to<br>
    `llvm::StringRef::find_first_<u></u>of(llvm::StringRef, unsigned long) const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `CheckString::CheckNext(llvm::<u></u>SourceMgr const&,<br>
    llvm::StringRef) const':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1036:<br>
    undefined reference to<br>
    `llvm::SourceMgr::<u></u>FindBufferContainingLoc(llvm::<u></u>SMLoc) const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1046:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1048:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1050:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1056:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1058:<br>
    undefined reference to `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:/home/<u></u>varosi/haskell/llvm/utils/<u></u>FileCheck/FileCheck.cpp:1060:<br>
    more undefined references to<br>
    `llvm::SourceMgr::<u></u>PrintMessage(llvm::SMLoc,<br>
    llvm::SourceMgr::DiagKind, llvm::Twine const&,<br>
    llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool)<br>
    const' follow<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `ValidateCheckPrefix':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1170:<br>
    undefined reference to `llvm::Regex::Regex(llvm::<u></u>StringRef, unsigned<br>
    int)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1171:<br>
    undefined reference to `llvm::Regex::match(llvm::<u></u>StringRef,<br>
    llvm::SmallVectorImpl<llvm::<u></u>StringRef>*)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1171:<br>
    undefined reference to `llvm::Regex::~Regex()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `main':<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1199:<br>
    undefined reference to `llvm::sys::<u></u>PrintStackTraceOnErrorSignal()<u></u>'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1201:<br>
    undefined reference to `llvm::cl::<u></u>ParseCommandLineOptions(int, char<br>
    const* const*, char const*)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1204:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1222:<br>
    undefined reference to<br>
    `llvm::MemoryBuffer::<u></u>getFileOrSTDIN(llvm::<u></u>StringRef,<br>
    std::unique_ptr<llvm::<u></u>MemoryBuffer,<br>
    std::default_delete<llvm::<u></u>MemoryBuffer> >&, long)'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1224:<br>
    undefined reference to `llvm::error_code::message() const'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1223:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1229:<br>
    undefined reference to `llvm::errs()'<br>
    /home/varosi/haskell/llvm/<u></u>utils/FileCheck/FileCheck.cpp:<u></u>1298:<br>
    undefined reference to `llvm::SourceMgr::~SourceMgr()<u></u>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::GenericOptionValue:<u></u>:GenericOptionValue()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:355:<br>
    undefined reference to `vtable for llvm::cl::GenericOptionValue'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::OptionValue<std::<u></u>string>::~OptionValue()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:458:<br>
    undefined reference to `vtable for llvm::cl::OptionValue<std::<u></u>string>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::basic_parser_impl::<u></u>basic_parser_impl()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:700:<br>
    undefined reference to `vtable for llvm::cl::basic_parser_impl'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::basic_parser<std::<u></u>string>::~basic_parser()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:739:<br>
    undefined reference to `vtable for llvm::cl::basic_parser<std::<u></u>string>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::parser<std::string><u></u>::~parser()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:912:<br>
    undefined reference to `vtable for llvm::cl::parser<std::string>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >::opt<llvm::cl::<u></u>FormattingFlags,<br>
    llvm::cl::desc,<br>
    llvm::cl::NumOccurrencesFlag>(<u></u>llvm::cl::FormattingFlags const&,<br>
    llvm::cl::desc const&, llvm::cl::NumOccurrencesFlag const&)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1225:<br>
    undefined reference to `vtable for llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1225:<br>
    undefined reference to `vtable for llvm::cl::parser<std::string>'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1227:<br>
    undefined reference to `llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >::done()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >::opt<char [11], llvm::cl::desc,<br>
    llvm::cl::initializer<char [2]>, llvm::cl::value_desc>(char const<br>
    (&) [11], llvm::cl::desc const&, llvm::cl::initializer<char [2]><br>
    const&, llvm::cl::value_desc const&)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1232:<br>
    undefined reference to `vtable for llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1232:<br>
    undefined reference to `vtable for llvm::cl::parser<std::string>'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1234:<br>
    undefined reference to `llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >::done()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::list<std::string, bool,<br>
    llvm::cl::parser<std::string> >::list<char [13],<br>
    llvm::cl::desc>(char const (&) [13], llvm::cl::desc const&)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1385:<br>
    undefined reference to `vtable for llvm::cl::parser<std::string>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::basic_parser<bool>:<u></u>:basic_parser()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:739:<br>
    undefined reference to `vtable for llvm::cl::basic_parser<bool>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::basic_parser<bool>:<u></u>:~basic_parser()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:739:<br>
    undefined reference to `vtable for llvm::cl::basic_parser<bool>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::parser<bool>::<u></u>parser()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:749:<br>
    undefined reference to `vtable for llvm::cl::parser<bool>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::parser<bool>::~<u></u>parser()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:749:<br>
    undefined reference to `vtable for llvm::cl::parser<bool>'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::opt<bool, false, llvm::cl::parser<bool><br>
     >::opt<char [18], llvm::cl::desc>(char const (&) [18],<br>
    llvm::cl::desc const&)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1217:<br>
    undefined reference to `vtable for llvm::cl::opt<bool, false,<br>
    llvm::cl::parser<bool> >'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1219:<br>
    undefined reference to `llvm::cl::opt<bool, false,<br>
    llvm::cl::parser<bool> >::done()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `std::enable_if<std::numeric_<u></u>limits<int>::is_signed,<br>
    bool>::type llvm::StringRef::getAsInteger<<u></u>int>(unsigned int, int&)<br>
    const':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/StringRef.h:<u></u>346:<br>
    undefined reference to `llvm::getAsSignedInteger(<u></u>llvm::StringRef,<br>
    unsigned int, long long&)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::StringMap<llvm::<u></u>StringRef,<br>
    llvm::MallocAllocator>::find(<u></u>llvm::StringRef)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/StringMap.h:<u></u>274:<br>
    undefined reference to<br>
    `llvm::StringMapImpl::FindKey(<u></u>llvm::StringRef) const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::StringMap<llvm::<u></u>StringRef,<br>
    llvm::MallocAllocator>::find(<u></u>llvm::StringRef) const':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/StringMap.h:<u></u>280:<br>
    undefined reference to<br>
    `llvm::StringMapImpl::FindKey(<u></u>llvm::StringRef) const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::list<std::string, bool,<br>
    llvm::cl::parser<std::string> >::done()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1362:<br>
    undefined reference to `llvm::cl::Option::<u></u>addArgument()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::StringMapEntry<llvm::<u></u>StringRef>&<br>
    llvm::StringMap<llvm::<u></u>StringRef,<br>
    llvm::MallocAllocator>::<u></u>GetOrCreateValue<llvm::<u></u>StringRef>(llvm::StringRef,<br>
    llvm::StringRef)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/StringMap.h:<u></u>345:<br>
    undefined reference to<br>
    `llvm::StringMapImpl::<u></u>LookupBucketFor(llvm::<u></u>StringRef)'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/StringMap.h:<u></u>362:<br>
    undefined reference to `llvm::StringMapImpl::<u></u>RehashTable()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::<u></u>SmallVectorTemplateCommon<<u></u>char,<br>
    void>::grow_pod(unsigned long, unsigned long)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/SmallVector.<u></u>h:82:<br>
    undefined reference to `llvm::SmallVectorBase::grow_<u></u>pod(void*,<br>
    unsigned long, unsigned long)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::StringMapEntry<char>& llvm::StringMap<char,<br>
    llvm::MallocAllocator>::<u></u>GetOrCreateValue<char>(llvm::<u></u>StringRef, char)':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/StringMap.h:<u></u>345:<br>
    undefined reference to<br>
    `llvm::StringMapImpl::<u></u>LookupBucketFor(llvm::<u></u>StringRef)'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/ADT/StringMap.h:<u></u>362:<br>
    undefined reference to `llvm::StringMapImpl::<u></u>RehashTable()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `void llvm::cl::initializer<char<br>
    [2]>::apply<llvm::cl::opt<std:<u></u>:string, false,<br>
    llvm::cl::parser<std::string> > >(llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >&) const':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:315:<br>
    undefined reference to `llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >::setInitialValue(std::string const&)'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:(.data.<u></u>rel.ro._<u></u>ZTVN4llvm2cl4listISsbNS0_<u></u>6parserISsEEEE[_<u></u>ZTVN4llvm2cl4listISsbNS0_<u></u>6parserISsEEEE]+0x20):<br>




    undefined reference to `llvm::cl::Option::anchor()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:(.data.<u></u>rel.ro._<u></u>ZTVN4llvm2cl11OptionValueIbEE[<u></u>_<u></u>ZTVN4llvm2cl11OptionValueIbEE]<u></u>+0x28):<br>
    undefined reference to `llvm::cl::GenericOptionValue:<u></u>:anchor()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:(.data.<u></u>rel.ro._<u></u>ZTVN4llvm2cl15OptionValueBaseI<u></u>bLb0EEE[_<u></u>ZTVN4llvm2cl15OptionValueBaseI<u></u>bLb0EEE]+0x28):<br>




    undefined reference to `llvm::cl::GenericOptionValue:<u></u>:anchor()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:(.data.<u></u>rel.ro._<u></u>ZTVN4llvm2cl15OptionValueCopyI<u></u>bEE[_<u></u>ZTVN4llvm2cl15OptionValueCopyI<u></u>bEE]+0x28):<br>




    undefined reference to `llvm::cl::GenericOptionValue:<u></u>:anchor()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:(.data.<u></u>rel.ro._<u></u>ZTVN4llvm2cl15OptionValueCopyI<u></u>SsEE[_<u></u>ZTVN4llvm2cl15OptionValueCopyI<u></u>SsEE]+0x28):<br>




    undefined reference to `llvm::cl::GenericOptionValue:<u></u>:anchor()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >::~opt()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1156:<br>
    undefined reference to `vtable for llvm::cl::opt<std::string, false,<br>
    llvm::cl::parser<std::string> >'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::opt<bool, false, llvm::cl::parser<bool><br>
     >::~opt()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1156:<br>
    undefined reference to `vtable for llvm::cl::opt<bool, false,<br>
    llvm::cl::parser<bool> >'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::<u></u>PrettyStackTraceProgram::~<u></u>PrettyStackTraceProgram()':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>PrettyStackTrace.h:58: undefined<br>
    reference to `vtable for llvm::PrettyStackTraceProgram'<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>PrettyStackTrace.h:58: undefined<br>
    reference to `llvm::PrettyStackTraceEntry::<u></u>~PrettyStackTraceEntry()'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::list<std::string, bool,<br>
    llvm::cl::parser<std::string> >::getOptionWidth() const':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1352:<br>
    undefined reference to<br>
    `llvm::cl::basic_parser_impl::<u></u>getOptionWidth(llvm::cl::<u></u>Option<br>
    const&) const'<br>
    /home/varosi/haskell/llvm/<u></u>build/utils/FileCheck/Debug+<u></u>Asserts/FileCheck.o:<br>
    In function `llvm::cl::list<std::string, bool,<br>
    llvm::cl::parser<std::string> >::printOptionInfo(unsigned long) const':<br>
    /home/varosi/haskell/llvm/<u></u>include/llvm/Support/<u></u>CommandLine.h:1354:<br>
    undefined reference to<br>
    `llvm::cl::basic_parser_impl::<u></u>printOptionInfo(llvm::cl::<u></u>Option<br>
    const&, unsigned long) const'<br>
    collect2: error: ld returned 1 exit status<br>
    make[2]: ***<br>
    [/home/varosi/haskell/llvm/<u></u>build/Debug+Asserts/bin/<u></u>FileCheck] Error 1<br>
    make[2]: Leaving directory<br>
    `/home/varosi/haskell/llvm/<u></u>build/utils/FileCheck'<br>
    make[1]: *** [FileCheck/.makeall] Error 2<br>
    make[1]: Leaving directory `/home/varosi/haskell/llvm/<u></u>build/utils'<br>
    make: *** [all] Error 1<br>
<br>
<br>
<br>
    Another thing is that the link from:<br>
    <a href="http://www.haskell.org/haskellwiki/ARM" target="_blank">http://www.haskell.org/<u></u>haskellwiki/ARM</a><br>
<br>
    which is:<br>
    <a href="http://www.haskell.org/pipermail/cvs-ghc/2012-February/070791.html" target="_blank">http://www.haskell.org/<u></u>pipermail/cvs-ghc/2012-<u></u>February/070791.html</a><br>
<br>
    Is invalid and there could be some more information on the topic.<br>
    I had to install GCC 4.7 to compile latest LLVM on my Ubuntu 12.<br>
<br>
    What could be the problem with LLVM?<br>
<br>
<br>
    2014-04-03 17:13 GMT+03:00 Karel Gardas <<a href="mailto:karel.gardas@centrum.cz" target="_blank">karel.gardas@centrum.cz</a><br></div></div>
    <mailto:<a href="mailto:karel.gardas@centrum.cz" target="_blank">karel.gardas@centrum.<u></u>cz</a>>>:<div><br>
<br>
        On 04/ 3/14 04:05 PM, eng. Vassil Ognyanov Keremidchiev wrote:<br>
<br>
            Yes, but I don't know what is missing in my workflow.<br>
<br>
            I did not know if I need LLVM runtime on my target ARM machine.<br>
<br>
<br>
        No, you don't need LLVM runtime. You just need LLVM llc/opt if<br>
        you'd like to cross-compile and build registerised ARM binaries.<br>
<br>
<br>
              Do I<br>
            need? I read that there is unregisterised version for ARM<br>
            that doesn't<br>
            need LLVM. So I just could build Haskell cross-compiler that<br>
            could work<br>
            on my Ubuntu and create binaries for my ARM v7 machine.<br>
<br>
<br>
        If you'd like to use unregisterised /via-C binaries, then you<br>
        don't need LLVM at all, you just need to configure with<br>
        --enable-unregisterised IIRC, but I've not tested that so you<br>
        are on your own.<br>
<br>
        Also it comes with its own performance penalty of course:<br></div>
        <a href="http://ghcarm.wordpress.com/__2011/08/07/nofib-benchmarking/" target="_blank">http://ghcarm.wordpress.com/__<u></u>2011/08/07/nofib-benchmarking/</a><br>
        <<a href="http://ghcarm.wordpress.com/2011/08/07/nofib-benchmarking/" target="_blank">http://ghcarm.wordpress.com/<u></u>2011/08/07/nofib-benchmarking/</a><u></u>><br>
<br>
        Karel<br>
<br>
<br>
<br>
</blockquote>
<br>
</blockquote></div></div></div><br></div>
</blockquote></div></div></div><br></div>
</blockquote></div><br></div>