[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[creduce-bugs] can't build on MacOS



Update: I got it to build by using clang++ 3.3 instead of the g++ 
provided by Xcode.

Note that on this machine, when you run g++ it actually invokes clang++.

John


On 11/23/13, 5:34 PM, John Regehr wrote:
> I'm having trouble building the latest C-Reduce on a fully-updated Mac
> (Mavericks, Xcode 5.0.2, etc.).
>
> I've downloaded the LLVM/Clang 3.3 binary package and can run programs
> from it.
>
> I've configured C-Reduce like this:
>
> ./configure --with-llvm=/Users/regehr/clang+llvm-3.3-x86_64-apple-darwin12
>
> which ends up with this:
>
> checking for LLVM version... 3.3
> checking can compile with and link with LLVM(engine)... no
> configure: error: in `/Users/regehr/creduce':
> configure: error: cannot compile and link test program with selected LLVM
> See `config.log' for more details
>
> I've included the relevant output from config.log below.  Any help
> appreciated.
>
> John
>
>
>
>
> configure:15312: checking can compile with and link with LLVM(engine)
> configure:15338: g++ -o conftest -g -O2
> -I/Users/regehr/clang+llvm-3.3-x86_64-apple-darw\
> in12/include  -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
> -D__STDC_FORMAT_MACROS -D__\
> STDC_LIMIT_MACROS -O3  -fvisibility-inlines-hidden -fno-exceptions
> -fno-rtti -fno-common \
> -Woverloaded-virtual -Wcast-qual  conftest.cpp  -lLLVMX86Disassembler
> -lLLVMX86AsmParser \
> -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMMCParser
> -lLLVMX86Desc -lLLVMX\
> 86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT -lLLVMRuntimeDyld
> -lLLVMExecutionEngi\
> ne -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine
> -lLLVMTransformUtil\
> s -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore
> -lLLVMSupport -L\
> /Users/regehr/clang+llvm-3.3-x86_64-apple-darwin12/lib  -lz -lpthread
> -lm  >&5
> Undefined symbols for architecture x86_64:
>    "std::string::copy(char*, unsigned long, unsigned long) const",
> referenced from:
>        llvm::sys::Path::makeUnique(bool, std::string*) in
> libLLVMSupport.a(Path.o)
>    "std::string::find(char const*, unsigned long, unsigned long) const",
> referenced from:
>        llvm::sys::getDefaultTargetTriple() in libLLVMSupport.a(Host.o)
>    "std::string::find(char, unsigned long) const", referenced from:
>        llvm::sys::Program::FindProgramByName(std::string const&) in
> libLLVMSupport.a(Progr\
> am.o)
>        llvm::Module::print(llvm::raw_ostream&,
> llvm::AssemblyAnnotationWriter*) const in l\
> ibLLVMCore.a(AsmWriter.o)
>    "std::string::rfind(char, unsigned long) const", referenced from:
>        llvm::sys::Path::FindLibrary(std::string&) in
> libLLVMSupport.a(Path.o)
>        llvm::sys::Path::eraseSuffix() in libLLVMSupport.a(Path.o)
>        llvm::sys::Path::getBasename() const in libLLVMSupport.a(Path.o)
>        llvm::sys::Path::getSuffix() const in libLLVMSupport.a(Path.o)
>        llvm::sys::Path::getLast() const in libLLVMSupport.a(Path.o)
>        llvm::sys::Path::eraseComponent() in libLLVMSupport.a(Path.o)
>    "std::string::compare(char const*) const", referenced from:
>        llvm::CreateInfoOutputFile() in libLLVMSupport.a(Timer.o)
>        (anonymous namespace)::VersionPrinter::print() in
> libLLVMSupport.a(CommandLine.o)
>    "std::string::_M_leak_hard()", referenced from:
>        llvm::StringRef::lower() const in libLLVMSupport.a(StringRef.o)
>        llvm::StringRef::upper() const in libLLVMSupport.a(StringRef.o)