Change:
I have an up-to-date Fedora 12 (Linux 2.6.33.5-124.fc13.x8664 x8664) with all the prerequisites, and the build fails with: $ NOVALGRIND=1 make check cfg: building on Linux x8664 cfg: unix-y environment cfg: using gcc cfg: using ocaml native compiler cfg: building native compiler cfg: using LLVM version 2.8svn cfg: found llvm-config at /usr/local/llvm-2.8svn/bin/llvm-config check: formatting compile: File "", line 118, characters 4-30: Error: Unbound value Llvm.setmoduleinline_asm make: * [] Error 2 My path includes /usr/local/llvm-2.8svn/bin which I got from the LLVM svn repository, built, tested and installed today with 'make happiness'.
Ah. The makefile autoconfigury is assuming that "having LLVM" means "having LLVM ocaml bindings", which is not true. As a short-term fix, I've disabled the LLVM backend by default (it's significantly more broken than the built-in one at present). I'll modify the logic later in the week to be more particular about sensing presence or absence of the ocaml bindings. Leaving this open for now.
Thanks. Disabling the LLVM backend allowed the build to complete.
There's now a check for the llvm bindings, so this issue should be resolved.

Discussion:
use std::fs::File; use std::path::{Path, PathBuf}; <del> use rustc_session::Session; </del> use rustc_codegen_ssa::back::archive::ArchiveBuilder; <ins> use rustc_session::Session; </ins> use rustc_data_structures::temp_dir::MaybeTempDir; <del> use rustc_middle::middle::cstore::DllImport; </del> <ins> use rustc_session::cstore::DllImport; </ins> struct ArchiveConfig<'a> { sess: &'a Session,

GlobalKind, }; use rustc_middle::dep_graph; <del> use rustc_middle::middle::cstore::EncodedMetadata; </del> use rustc_middle::middle::exported_symbols; use rustc_middle::ty::TyCtxt; use rustc_middle::mir::mono::Linkage;

use rustc_codegen_ssa::base::maybe_create_entry_wrapper; use rustc_codegen_ssa::mono_item::MonoItemExt; use rustc_codegen_ssa::traits::DebugInfoMethods; <ins> use rustc_metadata::EncodedMetadata; </ins> use rustc_session::config::DebugInfo; use rustc_span::Symbol;

let context = &gcc_module.context; let mut compressed = rustc_metadata::METADATA_HEADER.to_vec(); <del> FrameEncoder::new(&mut compressed).write_all(&metadata.raw_data).unwrap(); </del> <ins> FrameEncoder::new(&mut compressed).write_all(&metadata.raw_data()).unwrap(); </ins> let name = exported_symbols::metadata_symbol_name(tcx); let typ = context.new_array_type(None, context.new_type::<u8>(), compressed.len() as i32);

// TODO(antoyo) } <ins> fn type_metadata(&mut self, _function: RValue<'gcc>, _typeid: String) { // Unsupported. } fn typeid_metadata(&mut self, _typeid: String) -> RValue<'gcc> { // Unsupported. self.context.new_rvalue_from_int(self.int_type, 0) } </ins> fn store(&mut self, val: RValue<'gcc>, ptr: RValue<'gcc>, align: Align) -> RValue<'gcc> { self.store_with_flags(val, ptr, align, MemFlags::empty()) }

use rustc_codegen_ssa::mir::debuginfo::{FunctionDebugContext, VariableKind}; use rustc_codegen_ssa::traits::{DebugInfoBuilderMethods, DebugInfoMethods}; use rustc_middle::mir; <del> use rustc_middle::ty::{Instance, Ty}; </del> <ins> use rustc_middle::ty::{Instance, PolyExistentialTraitRef, Ty}; </ins> use rustc_span::{SourceFile, Span, Symbol}; use rustc_target::abi::Size; use rustc_target::abi::call::FnAbi;

} impl<'gcc, 'tcx> DebugInfoMethods<'tcx> for CodegenCx<'gcc, 'tcx> { <del> fn create_vtable_metadata(&self, _ty: Ty<'tcx>, _vtable: Self::Value) { </del> <ins> fn create_vtable_metadata(&self, _ty: Ty<'tcx>, _trait_ref: Option<PolyExistentialTraitRef<'tcx>>, _vtable: Self::Value) { </ins> // TODO(antoyo) }

// TODO(antoyo) } <ins> fn type_test(&mut self, _pointer: Self::Value, _typeid: Self::Value) -> Self::Value { // Unsupported. self.context.new_rvalue_from_int(self.int_type, 0) } </ins> fn va_start(&mut self, _va_list: RValue<'gcc>) -> RValue<'gcc> { unimplemented!(); }

use rustc_codegen_ssa::traits::{CodegenBackend, ExtraBackendMethods, ModuleBufferMethods, ThinBufferMethods, WriteBackendMethods}; use rustc_data_structures::fx::FxHashMap; use rustc_errors::{ErrorReported, Handler}; <ins> use rustc_metadata::EncodedMetadata; </ins> use rustc_middle::dep_graph::{WorkProduct, WorkProductId}; <del> use rustc_middle::middle::cstore::EncodedMetadata; </del> use rustc_middle::ty::TyCtxt; use rustc_session::config::{Lto, OptLevel, OutputFilenames}; use rustc_session::Session;