[LLVMdev] llvm build error with gcc-4.3.2 on OpenSolaris
Vinson Lee
vlee at vmware.com
Thu Aug 12 12:24:47 PDT 2010
I am unable to build llvm-2.7 or llvm-2.8 svn with the gcc-4.3.2 that comes with OpenSolaris.
$ uname -a
SunOS opensolaris 5.11 snv_111b i86pc i386 i86pc Solaris
$ gcc-4.3.2 --version
gcc-4.3.2 (GCC) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
llvm-2.7
$ make
...
llvm[1]: Compiling BasicBlock.cpp for Release build
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h: In member function ‘bool __gnu_cxx::_EqualOpConcept<_First, _Second>::__constraints_() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]’:
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:296: instantiated from ‘void __gnu_cxx::_EqualOpConcept<_First, _Second>::__constraints() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/stl_algo.h:3810: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >, _Tp = llvm::BasicBlock*]’
BasicBlock.cpp:181: instantiated from here
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:296: error: no match for ‘operator==’ in ‘((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>::__a == ((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>::__b’
llvm-2.7/include/llvm/ADT/APInt.h:1448: note: candidates are: bool llvm::operator==(uint64_t, const llvm::APInt&)
llvm-2.7/include/llvm/ADT/StringRef.h:400: note: bool llvm::operator==(llvm::StringRef, llvm::StringRef)
make[1]: *** [llvm-2.7/lib/VMCore/Release/BasicBlock.o] Error 1
make[1]: Leaving directory `llvm-2.7/lib/VMCore'
llvm-2.8 svn
$ make
...
llvm[1]: Compiling BasicBlock.cpp for Debug+Asserts build
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h: In member function ‘bool __gnu_cxx::_EqualOpConcept<_First, _Second>::__constraints_() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]’:
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:296: instantiated from ‘void __gnu_cxx::_EqualOpConcept<_First, _Second>::__constraints() [with _First = llvm::BasicBlock, _Second = llvm::BasicBlock*]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:62: instantiated from ‘void __gnu_cxx::__function_requires() [with _Concept = __gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>]’
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/stl_algo.h:3810: instantiated from ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = llvm::PredIterator<llvm::BasicBlock, llvm::value_use_iterator<llvm::User> >, _Tp = llvm::BasicBlock*]’
BasicBlock.cpp:192: instantiated from here
/usr/lib/gcc/i386-pc-solaris2.11/4.3.2/../../../../include/c++/4.3.2/bits/boost_concept_check.h:296: error: no match for ‘operator==’ in ‘((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>::__a == ((__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>*)this)->__gnu_cxx::_EqualOpConcept<llvm::BasicBlock, llvm::BasicBlock*>::__b’
llvm/include/llvm/ADT/APInt.h:1512: note: candidates are: bool llvm::operator==(uint64_t, const llvm::APInt&)
llvm-2.8-svn/llvm/include/llvm/ADT/StringRef.h:404: note: bool llvm::operator==(llvm::StringRef, llvm::StringRef)
make[1]: *** [llvm/lib/VMCore/Debug+Asserts/BasicBlock.o] Error 1
make[1]: Leaving directory `llvm-2.8-svn/llvm/lib/VMCore'
More information about the llvm-dev
mailing list