Jun-qi Deng
2012-Mar-14 11:20 UTC
[LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?
> > Recently I think I found a bug in llvm's CMakeLists.(I use llvm 3.1svn > and > > Clang 3.1) I follow the normal way to try to compile an application that > > utilize both clang and llvm: I ./autogen.sh it, ./configure it and make > it. > > But the make fails. At last I found out the failure is because that the > > Makefile's CXXFLAGS does not contain -fno-rtti option which is needed by > > the compilation. > > 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 thementioned 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. Regards, TangKK> > _______________________________________________ > LLVM Developers mailing list > LLVMdev at 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/20120314/20d10cbf/attachment.html>
ofv at wanadoo.es
2012-Mar-14 13:00 UTC
[LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?
Jun-qi Deng <dengjunqi06323011 at gmail.com> writes:>> 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.
Jun-qi Deng
2012-Mar-14 13:40 UTC
[LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?
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>
Possibly Parallel Threads
- [LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?
- [LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?
- [LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?
- Automatic GPU Code Generation
- [GSoC 2016] Implementation of the packing transformation