Hi All,<br><br>Thanks Nicolas for pointing out that I needed --enable-targets=x86,cpp for my <br>llvm config to get vmkit to build.  The process gets a lot farther but fails in <br>different places depending upon the vmkit config (Can you please see the three<br>
case below?).  <br><br>My machine is a intel core i7 running ubuntu karmic and gcc 4.4.1.  <br>What arch/OS/distro/gcc do you all have VMKit working on?<br><br>thanks for your help.<br>-ZK<br><br>1) For any configuration with (pnet and pnetlib build successfully): <br>
--with-pnet-local-prefix=/home/zoewolk/RESEARCH/pnet-0.8.0 --with-pnetlib=/home/zoewolk/RESEARCH/pnetlib-0.8.0 <br>I get that TRACER is undefined.  I messed with this some but there are two tracer functions depending on the gc<br>
(tracer() and tracer(...)).  I'm not sure about the authors intent.<br>I tried with llvm-gcc/mmtk and without it, any config with pnet-based N3 fails<br>in this way.  I didn't try via mono.<br>...<br>make[3]: Entering directory `/home/zoewolk/RESEARCH/vmkit/lib/N3/VMCore'<br>
llvm[3]: Compiling Assembly.cpp for Release build (bytecode)<br>In file included from Assembly.cpp:15:<br>Assembly.h:140: error: variable or field ‘TRACER’ declared void<br>In file included from Assembly.cpp:19:<br>N3.h:81: error: invalid use of incomplete type ‘struct mvm::VirtualMachine’<br>
/home/zoewolk/RESEARCH/vmkit/include/mvm/Threads/Thread.h:39: error: forward declaration of ‘struct mvm::VirtualMachine’ <br>N3.h:109: error: variable or field ‘TRACER’ declared void<br>In file included from Assembly.cpp:21:<br>
VMClass.h:56: error: variable or field ‘TRACER’ declared void <br>VMClass.h:140: error: variable or field ‘TRACER’ declared void<br>...<br><br>2) For <br>./configure --with-llvmsrc=/home/zoewolk/RESEARCH/LLVMSystem/llvm --with-llvmobj=/home/zoewolk/RESEARCH/LLVMSystem/llvm <br>
--with-gnu-classpath-glibj=/home/zoewolk/RESEARCH/classpath-0.97.2/lib --with-gnu-classpath-libs=/home/zoewolk/RESEARCH/classpath-0.97.2/lib <br>--with-llvmgcc=/home/zoewolk/RESEARCH/LLVMSystem --with-gc=mmtk<br><br>It makes it much farther but stops here:<br>
...<br>make[2]: Leaving directory `/home/zoewolk/RESEARCH/vmkit/mmtk/java'<br>make[1]: Leaving directory `/home/zoewolk/RESEARCH/vmkit/mmtk'<br>make[1]: Entering directory `/home/zoewolk/RESEARCH/vmkit/tools'<br>
make[2]: Entering directory `/home/zoewolk/RESEARCH/vmkit/tools/vmkit'<br>make[2]: *** No rule to make target `/home/zoewolk/RESEARCH/vmkit/Release/lib/FinalMMTk.bc', needed by `vmkit.bc'.  Stop.<br>make[2]: Leaving directory `/home/zoewolk/RESEARCH/vmkit/tools/vmkit'<br>
make[1]: *** [vmkit/.makeall] Error 2<br>make[1]: Leaving directory `/home/zoewolk/RESEARCH/vmkit/tools'<br>
make: *** [all] Error 1<br><br>> ls Release/lib/<br>Allocator.bc     J3.bc          MMTKAlloc.bc  MMTKRuntime.bc  StaticGCPass.so<br>Classpath.bc     J3Compiler.bc  MMTk.bc       Mvm.bc<br>CommonThread.bc  JITGCPass.so   MMTKMagic.so  MvmCompiler.bc<br>
<br><br>3) For<br>./configure --with-llvmsrc=/home/zoewolk/RESEARCH/LLVMSystem/llvm --with-llvmobj=/home/zoewolk/RESEARCH/LLVMSystem/llvm <br>--with-gnu-classpath-glibj=/home/zoewolk/RESEARCH/classpath-0.97.2/lib --with-gnu-classpath-libs=/home/zoewolk/RESEARCH/classpath-0.97.2/lib<br>
I get:<br>llvm[1]: Compiling vmjc.cpp for Release build<br>llvm[1]: Linking Release executable vmjc (without symbols)<br>/home/zoewolk/RESEARCH/vmkit/Release/lib/libGCMmap2.a(gcinit.o): In function `mvm::Collector::destroy()':<br>
gcinit.cpp:(.text+0x24): undefined reference to `GCAllocator::~GCAllocator()'<br>gcinit.cpp:(.text+0x2c): undefined reference to `GCAllocator::operator delete(void*)'<br>/home/zoewolk/RESEARCH/vmkit/Release/lib/libGCMmap2.a(gcinit.o): In function `mvm::Collector::initialise()':<br>
gcinit.cpp:(.text+0x93): undefined reference to `GCAllocator::operator new(unsigned long)'<br>gcinit.cpp:(.text+0x9e): undefined reference to `GCAllocator::GCAllocator()'<br>collect2: ld returned 1 exit status<br>
make[1]: *** [/home/zoewolk/RESEARCH/vmkit/Release/bin/vmjc] Error 1<br>make[1]: Leaving directory `/home/zoewolk/RESEARCH/vmkit/tools/vmjc'<br>make: *** [all] Error 1<br><br><br>4) This is the only build that I can get to finish without error (just fyi):<br>
./configure --with-llvmsrc=/home/zoewolk/RESEARCH/LLVMSystem/llvm <br>--with-llvmobj=/home/zoewolk/RESEARCH/LLVMSystem/llvm <br>--with-gnu-classpath-glibj=/home/zoewolk/RESEARCH/classpath-0.97.2/lib <br>--with-gnu-classpath-libs=/home/zoewolk/RESEARCH/classpath-0.97.2/lib <br>
--with-llvmgcc=/home/zoewolk/RESEARCH/LLVMSystem <br><br>However j3 segfaults immediately for j3 --help.<br>vmjc, vmkit, llcj with the -version flag, give the version.  I've not tested beyond this.<br><br>