2011-12-22 15 views
7

Estoy intentando compilar Clang en Linux (EC2 de Amazon). Estoy funcionando con la composición de acuerdo con la guía en:Error al crear Clang

http://clang.llvm.org/get_started.html

estoy recibiendo los mensajes de error de enlace:

llvm[2]: Linking Debug+Asserts executable opt 
/home/ec2-user/benchmark/build/tools/opt/Debug+Asserts/opt.o: In function `llvm::ParseIR(llvm::MemoryBuffer*, llvm::SMDiagnostic&, llvm::LLVMContext&)': 
opt.cpp:(.text._ZN4llvm7ParseIREPNS_12MemoryBufferERNS_12SMDiagnosticERNS_11LLVMContextE[llvm::Pars eIR(llvm::MemoryBuffer*, llvm::SMDiagnostic&, llvm::LLVMContext&)]+0x5f): undefined reference to `llvm::ParseBitcodeFile(llvm::MemoryBuffer*, llvm::LLVMContext&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)' 
collect2: ld returned 1 exit status 
make[2]: *** [/home/ec2-user/benchmark/build/Debug+Asserts/bin/opt] Error 1 
make[2]: Leaving directory `/home/ec2-user/benchmark/build/tools/opt' 
make[1]: *** [opt/.makeall] Error 2 
make[1]: Leaving directory `/home/ec2-user/benchmark/build/tools' 
make: *** [all] Error 1 

¿alguien sabe lo que esto significa?

Edit: reconstruido todo el proyecto desde SVN y ahora estoy recibiendo el siguiente error:

COMPILE: clang_linux/asan-i386/i386: /home/ec2-user/benchmark/llvm/projects/compiler-rt/lib/asan/asan_rtl.cc 
/home/ec2-user/benchmark/llvm/projects/compiler-rt/lib/asan/asan_rtl.cc:28:10: fatal error: 'new' file not found 
#include <new> 
     ^
1 error generated. 
make[5]: *** [/home/ec2-user/benchmark/build/tools/clang/runtime/compiler-rt/clang_linux/asan-i386/i386/SubDir.lib__asan/asan_rtl.o] Error 1 
make[5]: Leaving directory `/home/ec2-user/benchmark/llvm/projects/compiler-rt' 
make[4]: *** [BuildRuntimeLibraries] Error 2 
make[4]: Leaving directory `/home/ec2-user/benchmark/build/tools/clang/runtime/compiler-rt' 
make[3]: *** [compiler-rt/.makeall] Error 2 
make[3]: Leaving directory `/home/ec2-user/benchmark/build/tools/clang/runtime' 
make[2]: *** [all] Error 1 
make[2]: Leaving directory `/home/ec2-user/benchmark/build/tools/clang' 
make[1]: *** [clang/.makeall] Error 2 
make[1]: Leaving directory `/home/ec2-user/benchmark/build/tools' 
make: *** [all] Error 1 
+0

¿Está construyendo con autotools o con cmake? –

+0

Cuando probé la construcción en Windows, utilicé cmake según las instrucciones, pero tampoco funcionó. Ahora estoy haciendo esto en Linux y simplemente usando el comando configure seguido de make según el Paso (5). No estoy seguro de lo que son las autotools? – user265445

Respuesta

2

que siguieron this y yo era capaz de construir con éxito en el primer disparo en sí.

Supongo que tiene problemas con su C++ standard library headers. ¡Entonces debe seguir el Step #6 en el enlace mencionado anteriormente!

Comience una compilación nueva y asegúrese de que cumpla con this como requisito previo.

+0

Empecé de nuevo, seguí el paso # 6 y sigo recibiendo el segundo error que mencioné en mi pregunta (también edité la pregunta para agregar el texto completo del segundo mensaje de error). ¿Alguna otra idea sobre lo que puedo estar haciendo mal? – user265445

+0

en el paso 7, recibí el siguiente mensaje de error: Se requiere CMake 2.8.12.2 o superior. Está ejecutando la versión 2.8.12 Intenté actualizar cMake, pero el sistema no lo reconoce. – Junchen

Cuestiones relacionadas