[LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?

Jun-qi Deng dengjunqi06323011 at gmail.com
Wed Mar 14 06:40:01 PDT 2012


I got your point. Thank you, and I'd like to provide the relative message
now. But firstly, what do you mean by the "relevant command generated by
your makefile"? What I can tell you now is:

The Error Message:
make[3]: Entering directory `/home/tang.kk/ppcg/ppcg/isl/interface'
  CXXLD  extract_interface
extract_interface.o:(.data.rel.ro._ZTI13MyASTConsumer[typeinfo for
MyASTConsumer]+0x10): undefined reference to `typeinfo for
clang::ASTConsumer'
collect2: ld returned 1 exit status
make[3]: *** [extract_interface] Error 1
make[3]: Leaving directory `/home/tang.kk/ppcg/ppcg/isl/interface'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/tang.kk/ppcg/ppcg/isl'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/tang.kk/ppcg/ppcg/isl'
make: *** [all-recursive] Error 1

The "make V=1" is:
tang.kk at linux-eda-0:~/ppcg/ppcg> make V=1
Making all in isl
make[1]: Entering directory `/home/tang.kk/ppcg/ppcg/isl'
make  all-recursive
make[2]: Entering directory `/home/tang.kk/ppcg/ppcg/isl'
Making all in .
make[3]: Entering directory `/home/tang.kk/ppcg/ppcg/isl'
make[3]: Leaving directory `/home/tang.kk/ppcg/ppcg/isl'
Making all in interface
make[3]: Entering directory `/home/tang.kk/ppcg/ppcg/isl/interface'
/bin/sh ../libtool  --tag=CXX   --mode=link g++
-I/home/tang.kk/work/llvm-install/include  -fPIC
-fvisibility-inlines-hidden   -D_GNU_SOURCE -Wall -W -Wno-unused-parameter
-Wwrite-strings -pedantic -Wno-long-long -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -save-temps
-L/home/tang.kk/work/llvm-install/lib  -ldl -lpthread  -o extract_interface
python.o extract_interface.o -lclangFrontend -lclangSerialization
-lclangParse -lclangSema -lclangAnalysis -lclangAST -lclangLex -lclangBasic
-lclangDriver -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore
-lLLVMSupport -L/home/tang.kk/work/llvm-install/lib  -ldl -lpthread
libtool: link: g++ -I/home/tang.kk/work/llvm-install/include -fPIC
-fvisibility-inlines-hidden -D_GNU_SOURCE -Wall -W -Wno-unused-parameter
-Wwrite-strings -pedantic -Wno-long-long -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -save-temps -o
extract_interface python.o extract_interface.o
 -L/home/tang.kk/work/llvm-install/lib -lclangFrontend -lclangSerialization
-lclangParse -lclangSema -lclangAnalysis -lclangAST -lclangLex -lclangBasic
-lclangDriver -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore
-lLLVMSupport -ldl -lpthread
extract_interface.o:(.data.rel.ro._ZTI13MyASTConsumer[typeinfo for
MyASTConsumer]+0x10): undefined reference to `typeinfo for
clang::ASTConsumer'
collect2: ld returned 1 exit status
make[3]: *** [extract_interface] Error 1
make[3]: Leaving directory `/home/tang.kk/ppcg/ppcg/isl/interface'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/tang.kk/ppcg/ppcg/isl'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/tang.kk/ppcg/ppcg/isl'
make: *** [all-recursive] Error 1

And my llvm-config --cxxflags is:
-fPIC -fvisibility-inlines-hidden   -D_GNU_SOURCE -Wall -W
-Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS

Best Regards,
TangKK



> >> Is it? In my experience, it isn't. Please show the relevant command
> >> generated by your makefile and the associated error message(s).
> >>
>
>
> >> RTTI is an on/off option that changes per LLVM library, so setting
> >> -fno-rtti for using LLVM makes no sense. VMCore and Support have -frtti
> >> while most of the rest have -fno-rtti. The switch is decided on
> >> cmake/modules/LLVMProcessSources.cmake depending on the value of
> >> LLVM_REQUIRES_RTTI.
> >>
> >>
> >> Hello! I'm sorry, because I've already solved the build problem with the
> > mentioned app manually, now it's not very convenient for me to reproduce
> > the error for the moment. I agree that "RTTI is an on/off option". But I
> > think the point of the problem I mentioned here is: some applications
> that
> > depend on llvm and clang use llvm-config to configure their Makefile,
> while
> > the llvm-config cannot provide the correct information they need. And
> this
> > is what actually happened under my platform.
>
> If you read again my post, you'll see that I doubt that the absence of
> -fno-rtti on the output of llvm-config is the problem. Using -fno-rtti
> is an internal decision taken while building LLVM and it makes no sense
> to impose it on third party code. In short: LLVM does not require
> -fno-rtti from the projects that link to it.
>
> Most likely, you were experiencing link problems on *your* code that
> were resolved by using -fno-rtti. But as you are not interested on
> investigating the issue, we'll never know for sure.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120314/e6bb93dc/attachment.html>


More information about the llvm-dev mailing list