[LLVMdev] Unable to do even basic Clang tutorial

NY Knicks Fan nyknicksfan92009 at yahoo.com
Tue Jul 10 13:22:20 PDT 2012


Hi Ashok,

$ cd bin/bin

$ ./llvm-config --ldflags --libs
-L/home/ubuntu/bin/lib   -ldl -lpthread
-lLLVMAsmParser -lLLVMTableGen -lLLVMDebugInfo -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInstrumentation -lLLVMInterpreter -lLLVMCodeGen -lLLVMipo -lLLVMVectorize -lLLVMScalarOpts -lLLVMInstCombine -lLLVMLinker -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMArchive -lLLVMBitReader -lLLVMBitWriter -lLLVMMCJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport

Now clang++ still can't find llvm/clang: (any help is very much appreciated)

$ /home/ubuntu/bin/bin/clang++ -I /home/ubuntu/bin/include/  -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -L/home/ubuntu/bin/lib   -ldl -lpthread -lLLVMAsmParser -lLLVMTableGen -lLLVMDebugInfo -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInstrumentation -lLLVMInterpreter -lLLVMCodeGen -lLLVMipo -lLLVMVectorize -lLLVMScalarOpts -lLLVMInstCombine -lLLVMLinker -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMArchive -lLLVMBitReader -lLLVMBitWriter -lLLVMMCJIT -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport tutorial1.cpp 
/tmp/tutorial1-oP8CUT.o: In function `main':
tutorial1.cpp:(.text+0x42): undefined reference to `llvm::outs()'
tutorial1.cpp:(.text+0x72): undefined reference to `clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&, clang::DiagnosticOptions const&, bool)'
tutorial1.cpp:(.text+0xd7): undefined reference to `clang::DiagnosticsEngine::DiagnosticsEngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs> const&, clang::DiagnosticConsumer*, bool)'
tutorial1.cpp:(.text+0xf4): undefined reference to `clang::LangOptions::LangOptions()'
tutorial1.cpp:(.text+0x125): undefined reference to `clang::FileManager::FileManager(clang::FileSystemOptions const&)'
tutorial1.cpp:(.text+0x148): undefined reference to `clang::SourceManager::SourceManager(clang::DiagnosticsEngine&, clang::FileManager&)'
tutorial1.cpp:(.text+0x17c): undefined reference to `llvm::sys::getDefaultTargetTriple()'
tutorial1.cpp:(.text+0x1d0): undefined reference to `clang::TargetInfo::CreateTargetInfo(clang::DiagnosticsEngine&, clang::TargetOptions&)'
tutorial1.cpp:(.text+0x211): undefined reference to `clang::HeaderSearch::HeaderSearch(clang::FileManager&, clang::DiagnosticsEngine&, clang::LangOptions const&, clang::TargetInfo const*)'
tutorial1.cpp:(.text+0x225): undefined reference to `clang::CompilerInstance::CompilerInstance()'
tutorial1.cpp:(.text+0x288): undefined reference to `clang::Preprocessor::Preprocessor(clang::DiagnosticsEngine&, clang::LangOptions&, clang::TargetInfo const*, clang::SourceManager&, clang::HeaderSearch&, clang::ModuleLoader&, clang::IdentifierInfoLookup*, bool, bool, bool)'
tutorial1.cpp:(.text+0x2ad): undefined reference to `clang::Preprocessor::~Preprocessor()'
tutorial1.cpp:(.text+0x370): undefined reference to `clang::CompilerInstance::~CompilerInstance()'
tutorial1.cpp:(.text+0x384): undefined reference to `clang::CompilerInstance::~CompilerInstance()'
tutorial1.cpp:(.text+0x398): undefined reference to `clang::HeaderSearch::~HeaderSearch()'
tutorial1.cpp:(.text+0x3c5): undefined reference to `clang::HeaderSearch::~HeaderSearch()'
tutorial1.cpp:(.text+0x3de): undefined reference to `clang::SourceManager::~SourceManager()'
tutorial1.cpp:(.text+0x40b): undefined reference to `clang::FileManager::~FileManager()'
tutorial1.cpp:(.text+0x41f): undefined reference to `clang::SourceManager::~SourceManager()'
tutorial1.cpp:(.text+0x44c): undefined reference to `clang::FileManager::~FileManager()'
/tmp/tutorial1-oP8CUT.o: In function `llvm::RefCountedBase<clang::DiagnosticIDs>::Release() const':
tutorial1.cpp:(.text._ZNK4llvm14RefCountedBaseIN5clang13DiagnosticIDsEE7ReleaseEv[_ZNK4llvm14RefCountedBaseIN5clang13DiagnosticIDsEE7ReleaseEv]+0x88): undefined reference to `clang::DiagnosticIDs::~DiagnosticIDs()'
clang-3: error: linker command failed with exit code 1 (use -v to see invocation)



________________________________
 From: Ashok Nalkund <ashoknn at qualcomm.com>
To: NY Knicks Fan <nyknicksfan92009 at yahoo.com> 
Cc: "llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu> 
Sent: Tuesday, July 10, 2012 12:11 PM
Subject: Re: [LLVMdev] Unable to do even basic Clang tutorial
 
You will need to link to the LLVM/clang libraries. To get the correct 
flags, you can run:
./llvm-config --ldflags --libs

and use the flags reported.

On 7/10/2012 11:35 AM, NY Knicks Fan wrote:
> OK.  Thanks.  I now get the following error (which appears to be a
> problem w/ the tutorial itself?):
>
> $ /home/ubuntu/bin/bin/clang++ -I /home/ubuntu/bin/include/
>   -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
> tutorial1.cpp/tmp/tutorial1-LQ71fW.o: In function `main':
> tutorial1.cpp:(.text+0x42): undefined reference to `llvm::outs()'
> tutorial1.cpp:(.text+0x72): undefined reference to
> `clang::TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream&,
> clang::DiagnosticOptions const&, bool)'
> tutorial1.cpp:(.text+0xd7): undefined reference to
> `clang::DiagnosticsEngine::DiagnosticsEngine(llvm::IntrusiveRefCntPtr<clang::DiagnosticIDs>
> const&, clang::DiagnosticConsumer*, bool)'
> tutorial1.cpp:(.text+0xf4): undefined reference to
> `clang::LangOptions::LangOptions()'
> tutorial1.cpp:(.text+0x125): undefined reference to
> `clang::FileManager::FileManager(clang::FileSystemOptions const&)'
> tutorial1.cpp:(.text+0x148): undefined reference to
> `clang::SourceManager::SourceManager(clang::DiagnosticsEngine&,
> clang::FileManager&)'
> tutorial1.cpp:(.text+0x17c): undefined reference to
> `llvm::sys::getDefaultTargetTriple()'
> tutorial1.cpp:(.text+0x1d0): undefined reference to
> `clang::TargetInfo::CreateTargetInfo(clang::DiagnosticsEngine&,
> clang::TargetOptions&)'
> tutorial1.cpp:(.text+0x211): undefined reference to
> `clang::HeaderSearch::HeaderSearch(clang::FileManager&,
> clang::DiagnosticsEngine&, clang::LangOptions const&, clang::TargetInfo
> const*)'
> tutorial1.cpp:(.text+0x225): undefined reference to
> `clang::CompilerInstance::CompilerInstance()'
> tutorial1.cpp:(.text+0x288): undefined reference to
> `clang::Preprocessor::Preprocessor(clang::DiagnosticsEngine&,
> clang::LangOptions&, clang::TargetInfo const*, clang::SourceManager&,
> clang::HeaderSearch&, clang::ModuleLoader&,
> clang::IdentifierInfoLookup*, bool, bool, bool)'
> tutorial1.cpp:(.text+0x2ad): undefined reference to
> `clang::Preprocessor::~Preprocessor()'
> tutorial1.cpp:(.text+0x370): undefined reference to
> `clang::CompilerInstance::~CompilerInstance()'
> tutorial1.cpp:(.text+0x384): undefined reference to
> `clang::CompilerInstance::~CompilerInstance()'
> tutorial1.cpp:(.text+0x398): undefined reference to
> `clang::HeaderSearch::~HeaderSearch()'
> tutorial1.cpp:(.text+0x3c5): undefined reference to
> `clang::HeaderSearch::~HeaderSearch()'
> tutorial1.cpp:(.text+0x3de): undefined reference to
> `clang::SourceManager::~SourceManager()'
> tutorial1.cpp:(.text+0x40b): undefined reference to
> `clang::FileManager::~FileManager()'
> tutorial1.cpp:(.text+0x41f): undefined reference to
> `clang::SourceManager::~SourceManager()'
> tutorial1.cpp:(.text+0x44c): undefined reference to
> `clang::FileManager::~FileManager()'
> /tmp/tutorial1-LQ71fW.o: In function
> `llvm::RefCountedBase<clang::DiagnosticIDs>::Release() const':
> tutorial1.cpp:(.text._ZNK4llvm14RefCountedBaseIN5clang13DiagnosticIDsEE7ReleaseEv[_ZNK4llvm14RefCountedBaseIN5clang13DiagnosticIDsEE7ReleaseEv]+0x88):
> undefined reference to `clang::DiagnosticIDs::~DiagnosticIDs()'
> clang-3: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
>
>
> ------------------------------------------------------------------------
> *From:* Ashok Nalkund <ashoknn at qualcomm.com>
> *To:* NY Knicks Fan <nyknicksfan92009 at yahoo.com>
> *Cc:* "llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu>
> *Sent:* Tuesday, July 10, 2012 11:28 AM
> *Subject:* Re: [LLVMdev] Unable to do even basic Clang tutorial
>
> Add -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS to your compilation flag.
>
> On 7/10/2012 11:23 AM, NY Knicks Fan wrote:
>  > Hi Ashok,
>  >
>  > I created a new Ubuntu 12.04 virtual machine and followed directions
>  > except that I know use your cmake command instead of configure, and I
>  > got the error below.
>  >
>  > Any help is very much appreciated.
>  >
>  >
>  > $ /home/ubuntu/bin/bin/clang++ -I /home/ubuntu/bin/include/ tutorial1.cpp
>  > In file included from tutorial1.cpp:5:
>  > In file included from
>  > /home/ubuntu/bin/include/llvm/Support/raw_ostream.h:17:
>  > In file included from /home/ubuntu/bin/include/llvm/ADT/StringRef.h:13:
>  > In file included from
>  > /home/ubuntu/bin/include/llvm/Support/type_traits.h:20:
>  > /home/ubuntu/bin/include/llvm/Support/DataTypes.h:48:3: error: "Must
>  > #define __STDC_LIMIT_MACROS before #including
>  >        Support/DataTypes.h"
>  > # error "Must #define __STDC_LIMIT_MACROS before #including
>  > Support/DataTypes.h"
>  >    ^
>  > /home/ubuntu/bin/include/llvm/Support/DataTypes.h:52:3: error: "Must
>  > #define __STDC_CONSTANT_MACROS before "
>  >    "#including Support/DataTypes.h"
>  > # error "Must #define __STDC_CONSTANT_MACROS before " \
>  >    ^
>  > In file included from tutorial1.cpp:6:
>  > In file included from /home/ubuntu/bin/include/llvm/Support/Host.h:17:
>  > In file included from /home/ubuntu/bin/include/llvm/ADT/StringMap.h:18:
>  > In file included from
> /home/ubuntu/bin/include/llvm/Support/Allocator.h:18:
>  > /home/ubuntu/bin/include/llvm/Support/MathExtras.h:38:24: error: use of
>  > undeclared identifier 'INT64_C'
>  >    return N >= 64 || (-(INT64_C(1)<<(N-1)) <= x && x <
> (INT64_C(1)<<(N-1)));
>  >                        ^
>  > /home/ubuntu/bin/include/llvm/Support/MathExtras.h:38:56: error: use of
>  > undeclared identifier 'INT64_C'
>  >    return N >= 64 || (-(INT64_C(1)<<(N-1)) <= x && x <
> (INT64_C(1)<<(N-1)));
>  >                                                        ^
>  > /home/ubuntu/bin/include/llvm/Support/MathExtras.h:64:26: error: use of
>  > undeclared identifier 'UINT64_C'
>  >    return N >= 64 || x < (UINT64_C(1)<<N);
>  >                          ^
>  > /home/ubuntu/bin/include/llvm/Support/MathExtras.h:96:24: error: use of
>  > undeclared identifier 'INT64_C'
>  >    return N >= 64 || (-(INT64_C(1)<<(N-1)) <= x && x <
> (INT64_C(1)<<(N-1)));
>  >                        ^
>  > /home/ubuntu/bin/include/llvm/Support/MathExtras.h:96:56: error: use of
>  > undeclared identifier 'INT64_C'
>  >    return N >= 64 || (-(INT64_C(1)<<(N-1)) <= x && x <
> (INT64_C(1)<<(N-1)));
>  >                                                        ^
>  > 7 errors generated.
>  >
>  >
>  > ------------------------------------------------------------------------
>  > *From:* Ashok Nalkund <ashoknn at qualcomm.com
> <mailto:ashoknn at qualcomm.com>>
>  > *To:* NY Knicks Fan <nyknicksfan92009 at yahoo.com
> <mailto:nyknicksfan92009 at yahoo.com>>
>  > *Cc:* "llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>"
> <llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>>
>  > *Sent:* Tuesday, July 10, 2012 12:44 AM
>  > *Subject:* Re: [LLVMdev] Unable to do even basic Clang tutorial
>  >
>  > Looks like your make/install is incomplete wrt clang. I follow the
>  > instuctions for checking out the sources but build using cmake instead
>  > of configure:
>  >
>  >  > cmake -G ""Unix Makefiles" -DLLVM_TARGETS_TO_BUILD="X86"
>  > -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="../bin" ../llvm
>  >  > make install
>  >
>  > This builds and installs llvm+clang in the bin directory one level above
>  > llvm. I tried using configure earlier but had some problems.
>  >
>  > ashok
>  >
>  >
>  > On 7/9/2012 5:32 PM, NY Knicks Fan wrote:
>  >  > Hi Ashok,
>  >  >
>  >  > As I mentioned in my earlier e-mail, my /usr/local/include does
> not have
>  >  > clang/ or clang-c/.
>  >  >
>  >  > I'm unable to do a make or make install in the Clang build directory.
>  >  >  How do I fix this?
>  >  >
>  >  > Thanks!
>  >  >
>  >  >
> ------------------------------------------------------------------------
>  >  > *From:* Ashok Nalkund <ashoknn at qualcomm.com
> <mailto:ashoknn at qualcomm.com>
>  > <mailto:ashoknn at qualcomm.com <mailto:ashoknn at qualcomm.com>>>
>  >  > *To:* NY Knicks Fan <nyknicksfan92009 at yahoo.com
> <mailto:nyknicksfan92009 at yahoo.com>
>  > <mailto:nyknicksfan92009 at yahoo.com
> <mailto:nyknicksfan92009 at yahoo.com>>>; "llvmdev at cs.uiuc.edu
> <mailto:llvmdev at cs.uiuc.edu>
>  > <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>>"
>  >  > <llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>
> <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>>>
>  >  > *Sent:* Monday, July 9, 2012 3:30 PM
>  >  > *Subject:* Re: [LLVMdev] Unable to do even basic Clang tutorial
>  >  >
>  >  > Use the -I<install path>/include .
>  > >
>  >  > This directory <install path>/include should look something like:
>  >  >
>  >  > clang/  clang-c/  llvm/  llvm-c/
>  >  >
>  >  > HTH
>  >  > ashok
>  >  >
>  >  > On 7/9/2012 3:15 PM, NY Knicks Fan wrote:
>  >  >  > I downloaded the 3.1 LLVM and Clang sources.
>  >  > >
>  >  >  > I followed the directions at:
> http://clang.llvm.org/get_started.html
>  >  >  >
>  >  >  > I am able to use Clang to compile stuff, but I could already do
> that
>  >  >  > with GCC.
>  >  >  >
>  >  >  > I'm trying to use Clang for parsing code, but I can't even get
>  > started.
>  >  >  >
>  >  >  > Can you tell me how to "include the installed location ofclang/llvm
>  >  >  > headers directories in your include path"?
>  >  >  >
>  >  >  > Thanks!
>  >  >  >
>  >  >  >
>  >  >  >
>  > ------------------------------------------------------------------------
>  >  >  > *From:* Ashok Nalkund <ashoknn at qualcomm.com
> <mailto:ashoknn at qualcomm.com>
>  > <mailto:ashoknn at qualcomm.com <mailto:ashoknn at qualcomm.com>>
>  >  > <mailto:ashoknn at qualcomm.com <mailto:ashoknn at qualcomm.com>
> <mailto:ashoknn at qualcomm.com <mailto:ashoknn at qualcomm.com>>>>
>  >  >  > *To:* NY Knicks Fan <nyknicksfan92009 at yahoo.com
> <mailto:nyknicksfan92009 at yahoo.com>
>  > <mailto:nyknicksfan92009 at yahoo.com <mailto:nyknicksfan92009 at yahoo.com>>
>  >  > <mailto:nyknicksfan92009 at yahoo.com
> <mailto:nyknicksfan92009 at yahoo.com> <mailto:nyknicksfan92009 at yahoo.com
> <mailto:nyknicksfan92009 at yahoo.com>>>>
>  >  >  > *Cc:* Chad Rosier <mcrosier at apple.com
> <mailto:mcrosier at apple.com> <mailto:mcrosier at apple.com
> <mailto:mcrosier at apple.com>>
>  > <mailto:mcrosier at apple.com <mailto:mcrosier at apple.com>
> <mailto:mcrosier at apple.com <mailto:mcrosier at apple.com>>>>;
>  >  > "llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>
> <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>>
>  > <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>
> <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>>>"
>  >  >  > <llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>
> <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>>
>  > <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>
> <mailto:llvmdev at cs.uiuc.edu <mailto:llvmdev at cs.uiuc.edu>>>>
>  >  >  > *Sent:* Monday, July 9, 2012 2:39 PM
>  >  >  > *Subject:* Re: [LLVMdev] Unable to do even basic Clang tutorial
>  >  >  >
>  >  >  > On 7/9/2012 1:42 PM, Chad Rosier wrote:
>  >  >  >  > Have you looked here: http://clang.llvm.org/get_started.html
>  >  >  >  >
>  >  >  >  >  Chad
>  >  >  >  >
>  >  >  >  >
>  >  >  >  > On Jul 9, 2012, at 11:33 AM, NY Knicks Fan wrote:
>  >  >  >  >
>  >  >  >  >> I'm trying to do the tutorials at:
>  >  >  > >>
>  >  >  >  >> https://github.com/loarabia/Clang-tu...i/TutorialOrig
>  >  >  >  >> <https://github.com/loarabia/Clang-tutorial/wiki/TutorialOrig>
>  >  >  >  >>
>  >  >  >  >> and I can't even do the first tutorial. I installed LLVM
> 3.1 and
>  >  > Clang
>  >  >  >  >> 3.1 and when I do:
>  >  >  > >>
>  >  >  >  >> ~/loarabia-Clang-tutorial-3d79443$ clang++ tutorial1.cpp In
> file
>  >  >  >  >> included from tutorial1.cpp:5: In file included from
>  >  >  >  >> ./llvm/Support/raw_ostream.h:17:
>  >  >  >  >> ./llvm/Support/llvm/ADT/StringRef.h:13:10: fatal error:
>  >  >  >  >> 'llvm/Support/type_traits.h' file not found
>  >  >  >  >>
>  >  >  >  >> include "llvm/Support/type_traits.h"
>  >  >  >  >> ^
>  >  >  >  >> 1 error generated.
>  >  >  >  >>
>  >  >  >  >> Do you know what I am doing wrong? I'm not sure what is the
>  > best way
>  >  >  >  >> to handle this header file problem.
>  >  >  >  >>
>  >  >  >  >> I'm running Ubuntu 12.04.
>  >  >  >  >>
>  >  >  >  >> Thank you.
>  >  > >
>  >  >  > Did you build it or "install" it from a package? If you build
> it, then
>  >  >  > you need do a 'make install' and include the installed location of
>  >  >  > clang/llvm headers directories in your include path.
>  >  >  >
>  >  >  >
>  >  >  >
>  >  >  >
>  >  >  >
>  >  > >
>  >  >  > _______________________________________________
>  >  >  > LLVM Developers mailing list
>  >  >  > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>
> <mailto:LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>>
>  > <mailto:LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>
> <mailto:LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu>>>
>  >  > http://llvm.cs.uiuc.edu <http://llvm.cs.uiuc.edu/>
> <http://llvm.cs.uiuc.edu/>
>  >  >  > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>  >  >  >
>  >  >
>  >  >
>  >  >
>  >
>  >
>  >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120710/c61326f1/attachment.html>


More information about the llvm-dev mailing list