VMkit compilation error

Hi folks,

I'm trying to compile VMKit (and eventually J3) with LLVM/Clang head.
There seem to be some recent commits (starting with roughly 165505)
that break the VMKit compile with the following errors:

$ make ENABLE_OPTIMIZED=1
llvm[0]: Constructing LLVMBuild project information.
make[1]: Entering directory `.../vmkit/lib/vmkit/StaticGCPass'
llvm[1]: Compiling StaticGCPass.cpp for Release+Asserts build (PIC)
llvm[1]: Linking Release+Asserts Loadable Module StaticGCPass.so
llvm[1]: Compiling StaticGCPass.cpp for Release+Asserts build (bytecode)
llvm[1]: Compiling StaticGCPass.ll to StaticGCPass.bc for
Release+Asserts build (bytecode)
llvm[1]: Building Release+Asserts Bytecode Archive libStaticGCPass.bca
make[1]: Leaving directory `.../vmkit/lib/vmkit/StaticGCPass'
make[1]: Entering directory `.../vmkit/lib/vmkit/StaticGCPrinter'
llvm[1]: Compiling VmkitGCPrinter.cpp for Release+Asserts build (PIC)
VmkitGCPrinter.cpp: In member function ‘virtual void
{anonymous}::VmkitAOTGCMetadataPrinter::finishAssembly(llvm::AsmPrinter&)’:
VmkitGCPrinter.cpp:292:63: error: no matching function for call to
‘llvm::DataLayout::getPointerSize() const’
VmkitGCPrinter.cpp:292:63: note: candidate is:
.../llvm_investigation/llvm/include/llvm/DataLayout.h:250:12: note:
unsigned int llvm::DataLayout::getPointerSize(unsigned int) const
.../llvm_investigation/llvm/include/llvm/DataLayout.h:250:12: note:
candidate expects 1 argument, 0 provided
/bin/rm: cannot remove
`.../vmkit/lib/vmkit/StaticGCPrinter/Release+Asserts/VmkitGCPrinter.d.tmp':
No such file or directory
make[1]: *** [.../vmkit/lib/vmkit/StaticGCPrinter/Release+Asserts/VmkitGCPrinter.o]
Error 1
make[1]: Leaving directory `.../vmkit/lib/vmkit/StaticGCPrinter'
make: *** [all] Error 1

I realize these are extremely recent commits, but I thought I'd ask
when the last time someone was able to successfully compile vmkit was,
to save myself the time of going searching.

Thanks,
Tim

Hi Tim,

I just updated vmkit to the new LLVM API. Please try it out with llvm ToT and vmkit ToT and let me know if it works for you.

Cheers,
Nicolas