Hi Tony, I'm cc-ing the klee-dev mailing list, as other people might be able to help and/or benefit from this exchange. I always use a binary release of llvm-gcc, so I have no experience compiling it. I had problems compiling LLVM with certain gcc compilers. This issue is documented here, might help with llvm-gcc as well: http://llvm.org/docs/GettingStarted.html#brokengcc
Regarding KLEE, you need to use a version of libstdc++ that has support for TR1, the standard library extensions that will be part of the new C++-0x standard; I think these extensions are only supported in gcc 4.0 and later. Cristian On Jun 8, 2009, at 4:42 AM, Drake, Tony wrote: > In the interim as I am trying to get Klee and LLVM-GCC to build, I am > encountering more issues. I apologize that I don't have access to the > llvm-dev mailing lists from work so I can't post it. > > For llvm-gcc : > make[3]: Entering directory `/etrade/llvm/obj/gcc' > c++ -c -O2 -g -fomit-frame-pointer -DIN_GCC -W -Wall -Wwrite-strings > -pedantic -Wno-long-long -Wno-variadic-macros -Wmissing-format- > attribute > -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i686-pc-linux-gnu\" - > DNDEBUG > -I. -I. -I../../llvm-gcc/gcc -I../../llvm-gcc/gcc/. > -I../../llvm-gcc/gcc/../include -I../../llvm-gcc/gcc/../libcpp/include > -I../../llvm-gcc/gcc/../libdecnumber -I../libdecnumber > -I/etrade/llvm/obj/../llvm//include -I/etrade/llvm/llvm/include > -DENABLE_LLVM -I/etrade/llvm/llvm/include -D_DEBUG -D_GNU_SOURCE > -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -I. -I. > -I../../llvm-gcc/gcc -I../../llvm-gcc/gcc/. > -I../../llvm-gcc/gcc/../include -I../../llvm-gcc/gcc/../libcpp/include > -I../../llvm-gcc/gcc/../libdecnumber -I../libdecnumber > -I/etrade/llvm/obj/../llvm//include -I/etrade/llvm/llvm/include > ../../llvm-gcc/gcc/llvm-main.cpp -o llvm-main.o > cc1plus: error: unrecognized command line option "-Wno-variadic- > macros" > make[3]: *** [llvm-main.o] Error 1 > make[3]: Leaving directory `/etrade/llvm/obj/gcc' > make[2]: *** [all-stage2-gcc] Error 2 > make[2]: Leaving directory `/etrade/llvm/obj' > make[1]: *** [stage2-bubble] Error 2 > make[1]: Leaving directory `/etrade/llvm/obj' > make: *** [all] Error 2 > > It wsa fixed for something similar here: > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090202/073 > 338.html > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090202/073 > 340.html > > Now I am trying to compile it with GCC-3.4.3 (Same one I used for llvm > and that I am trying to use for KLEE). I didn't see any reference in > the > llvm-gcc documentation that specified a compiler version to use. > > For Klee: > llvm[2]: Compiling Constraints.cpp for Release build > In file included from > /etrade/llvm/klee/include/klee/util/ExprVisitor.h:13, > from Constraints.cpp:13: > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:14:29: > tr1/unordered_map: No such file or directory > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:15:29: > tr1/unordered_set: No such file or directory > In file included from > /etrade/llvm/klee/include/klee/util/ExprVisitor.h:13, > from Constraints.cpp:13: > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:36: error: > `std::tr1' > has not been declared > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:36: error: expected > template-name before '<' token > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:36: error: expected > `{' before '<' token > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:36: error: expected > unqualified-id before '<' token > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:36: error: expected > `;' before '<' token > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:40: error: extra `;' > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:42: error: > `std::tr1' > has not been declared > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:42: error: expected > init-declarator before '<' token > /etrade/llvm/klee/include/klee/util/ExprHashMap.h:42: error: expected > `,' or `;' before '<' token > In file included from Constraints.cpp:13: > /etrade/llvm/klee/include/klee/util/ExprVisitor.h:84: error: field > `visited' has incomplete type > make[2]: *** [/etrade/llvm/klee/lib/Expr/Release/Constraints.o] > Error 1 > make[2]: Leaving directory `/etrade/llvm/klee/lib/Expr' > make[1]: *** [Expr/.makeall] Error 2 > make[1]: Leaving directory `/etrade/llvm/klee/lib' > make: *** [all] Error 1 > > > The path to these files (unordered_map and unordered_set)were added to > the LD_LIBRARY_PATH and the PATH it still fails. I have never had > issues > like this. What am I doing wrong? > > /etrade/llvm/llvm-gcc/libstdc++-v3/include/tr1/unordered_map > /etrade/llvm/llvm-gcc/libstdc++-v3/testsuite/tr1/6_containers/ > unordered/ > swap/unordered_map > > bash-2.05b$ env |grep LD_LIBRARY_PATH > > LD_LIBRARY_PATH=/etrade/llvm/llvm-gcc/libstdc++-v3/include/:/etrade/ > pkgs > /linux/intel/gcc/3.4.3.rhas3.x86/include:/etrade/pkgs/linux/intel/ > gcc/3. > 4.3.rhas3.x86/lib/:/opt/etrade/p6/lib: > > bash-2.05b$ echo $PATH > > PATH=/etrade/llvm/llvm-gcc/libstdc++-v3/include/:/etrade/pkgs/linux/ > inte > l/gcc/3.4.3.rhas3.x86/bin:/etrade/pkgs/linux/intel/gcc/ > 3.4.3.rhas3.x86/i > nclude:/etrade/pkgs/linux/intel/gcc/3.4.3.rhas3.x86/lib:/etrade/home/ > tdr > ake/maven/2.1-SNAPSHOT/bin:/opt/etrade/p6/bin::/opt/etrade/p6/bin:/ > bin:/ > usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin > > > Thanks again for your help. > > Tony