Hi, everyone. I am new to Quantomatic and I am looking forward to trying
it out.
I am attempting to build it on my laptop:
Mac OS X 10.8.5
I have been following the instructions on the page:
I have the following versions installed:
- dot - graphviz version 2.36.0 (20140111.2315)
- java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
- javac 1.6.0_65
- Apache Ant(TM) version 1.8.2 compiled on June 16 2012
- Poly/ML 5.5.1 Release
I then ran the following commands in sequence:
cd quantomatic &&
ant
I then get the following error:
Buildfile: /Users/hde/Documents/school/Research/tools/quantomatic/quantomatic/build.xml
compile.core:
[exec] POLYFLAGS="-H 200 " ../tools/polyc -l heaps/quanto.heap -o bin/quanto-core toplevel/quanto-core.ML
[exec] Exporting "bin/quanto-core.o"
[exec] cc -segprot POLY rwx rwx "-L/usr/local/lib" -lpolymain -lpolyml -o "bin/quanto-core" "bin/quanto-core.o"
[exec] ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame
[exec] Undefined symbols for architecture x86_64:
[exec] "std::bad_alloc::~bad_alloc()", referenced from:
[exec] Processes::ForkThread(ProcessTaskData*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::BeginRootThread(PolyObject*) in libpolyml.a(processes.o)
[exec] MemMgr::AddLocalSpace(LocalMemSpace*) in libpolyml.a(memmgr.o)
[exec] MemMgr::NewLocalSpace(unsigned long, bool)in libpolyml.a(memmgr.o)
[exec] MemMgr::GrowOrShrinkStack(StackSpace*, unsigned long)in libpolyml.a(memmgr.o)
[exec] MemMgr::NewStackSpace(unsigned long)in libpolyml.a(memmgr.o)
[exec] MemMgr::NewExportSpace(unsigned long, bool, bool)in libpolyml.a(memmgr.o)
[exec] ...
[exec] "typeinfo for std::bad_alloc", referenced from:
[exec] GCC_except_table8 in libpolyml.a(processes.o)
[exec] GCC_except_table15 in libpolyml.a(processes.o)
[exec] GCC_except_table2 in libpolyml.a(memmgr.o)
[exec] GCC_except_table10 in libpolyml.a(memmgr.o)
[exec] GCC_except_table12 in libpolyml.a(memmgr.o)
[exec] GCC_except_table13 in libpolyml.a(memmgr.o)
[exec] GCC_except_table14 in libpolyml.a(memmgr.o)
[exec] ...
[exec] "vtable for __cxxabiv1::__class_type_info", referenced from:
[exec] typeinfo for MainThreadRequestin libpolyml.a(gc.o)
[exec] typeinfo for MemoryExceptionin libpolyml.a(pexport.o)
[exec] typeinfo for Waiterin libpolyml.a(processes.o)
[exec] typeinfo for TaskDatain libpolyml.a(processes.o)
[exec] typeinfo for ProcessExternalin libpolyml.a(processes.o)
[exec] typeinfo for RtsModulein libpolyml.a(processes.o)
[exec] typeinfo for IOExceptionin libpolyml.a(processes.o)
[exec] ...
[exec] NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
[exec] "vtable for __cxxabiv1::__si_class_type_info", referenced from:
[exec] typeinfo for QuickGCRequestin libpolyml.a(gc.o)
[exec] typeinfo for FullGCRequestin libpolyml.a(gc.o)
[exec] typeinfo for ProcessTaskDatain libpolyml.a(processes.o)
[exec] typeinfo for WaitInputFDin libpolyml.a(processes.o)
[exec] typeinfo for RTSin libpolyml.a(run_time.o)
[exec] typeinfo for HeapSizingin libpolyml.a(heapsizing.o)
[exec] typeinfo for MemSpacein libpolyml.a(memmgr.o)
[exec] ...
[exec] NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
[exec] "vtable for __cxxabiv1::__vmi_class_type_info", referenced from:
[exec] typeinfo for PExportin libpolyml.a(pexport.o)
[exec] typeinfo for Processesin libpolyml.a(processes.o)
[exec] typeinfo for SaveStateExportin libpolyml.a(savestate.o)
[exec] typeinfo for MachoExportin libpolyml.a(machoexport.o)
[exec] NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
[exec] "vtable for std::bad_alloc", referenced from:
[exec] Processes::ForkThread(ProcessTaskData*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::BeginRootThread(PolyObject*) in libpolyml.a(processes.o)
[exec] MemMgr::AddLocalSpace(LocalMemSpace*) in libpolyml.a(memmgr.o)
[exec] MemMgr::NewLocalSpace(unsigned long, bool)in libpolyml.a(memmgr.o)
[exec] MemMgr::GrowOrShrinkStack(StackSpace*, unsigned long)in libpolyml.a(memmgr.o)
[exec] MemMgr::NewStackSpace(unsigned long)in libpolyml.a(memmgr.o)
[exec] MemMgr::NewExportSpace(unsigned long, bool, bool)in libpolyml.a(memmgr.o)
[exec] ...
[exec] NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
[exec] "operator delete[](void*)", referenced from:
[exec] ProcessVisitAddresses::~ProcessVisitAddresses()in libpolyml.a(objsize.o)
[exec] ProcessVisitAddresses::~ProcessVisitAddresses()in libpolyml.a(objsize.o)
[exec] SaveVec::~SaveVec()in libpolyml.a(save_vec.o)
[exec] SaveVec::~SaveVec()in libpolyml.a(save_vec.o)
[exec] ___tcf_0 in libpolyml.a(save_vec.o)
[exec] Exporter::~Exporter()in libpolyml.a(exporter.o)
[exec] Exporter::~Exporter()in libpolyml.a(exporter.o)
[exec] ...
[exec] "operator delete(void*)", referenced from:
[exec] QuickGCRequest::~QuickGCRequest()in libpolyml.a(gc.o)
[exec] FullGCRequest::~FullGCRequest()in libpolyml.a(gc.o)
[exec] MainThreadRequest::~MainThreadRequest()in libpolyml.a(gc.o)
[exec] PExport::~PExport()in libpolyml.a(pexport.o)
[exec] TaskData::~TaskData()in libpolyml.a(processes.o)
[exec] ProcessTaskData::~ProcessTaskData()in libpolyml.a(processes.o)
[exec] Processes::ForkThread(ProcessTaskData*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] ...
[exec] "operator new[](unsigned long)", referenced from:
[exec] MTGCProcessMarkPointers::InitStatics(unsigned int)in libpolyml.a(gc_mark_phase.o)
[exec] ProcessVisitAddresses::ProcessVisitAddresses(bool)in libpolyml.a(objsize.o)
[exec] SaveVec::SaveVec()in libpolyml.a(save_vec.o)
[exec] CopyScan::initialise(bool) in libpolyml.a(exporter.o)
[exec] Exporter::RunExport(PolyObject*) in libpolyml.a(exporter.o)
[exec] SaveRequest::Perform() in libpolyml.a(savestate.o)
[exec] StateLoader::LoadFile(bool, long)in libpolyml.a(savestate.o)
[exec] ...
[exec] "operator new(unsigned long)", referenced from:
[exec] Processes::ForkThread(ProcessTaskData*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::BeginRootThread(PolyObject*) in libpolyml.a(processes.o)
[exec] MemMgr::AddTreeRange(SpaceTree**, MemSpace*, unsigned long, unsigned long)in libpolyml.a(memmgr.o)
[exec] MemMgr::MemMgr()in libpolyml.a(memmgr.o)
[exec] MemMgr::NewLocalSpace(unsigned long, bool)in libpolyml.a(memmgr.o)
[exec] MemMgr::NewStackSpace(unsigned long)in libpolyml.a(memmgr.o)
[exec] ...
[exec] "___cxa_allocate_exception", referenced from:
[exec] PExport::exportStore() in libpolyml.a(pexport.o)
[exec] Processes::BlockAndRestart(TaskData*, Waiter*, bool, int)in libpolyml.a(processes.o)
[exec] Processes::TestAnyEvents(TaskData*) in libpolyml.a(processes.o)
[exec] Processes::TestSynchronousRequests(TaskData*) in libpolyml.a(processes.o)
[exec] Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::ThreadDispatch(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(processes.o)
[exec] Processes::ProcessAsynchRequests(TaskData*) in libpolyml.a(processes.o)
[exec] ...
[exec] "___cxa_begin_catch", referenced from:
[exec] NewThreadFunction(void*) in libpolyml.a(processes.o)
[exec] Processes::ForkThread(ProcessTaskData*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::ForkFromRTS(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(processes.o)
[exec] Processes::BeginRootThread(PolyObject*) in libpolyml.a(processes.o)
[exec] EnterPolyCode(TaskData*) in libpolyml.a(run_time.o)
[exec] MemMgr::AddLocalSpace(LocalMemSpace*) in libpolyml.a(memmgr.o)
[exec] MemMgr::NewLocalSpace(unsigned long, bool)in libpolyml.a(memmgr.o)
[exec] ...
[exec] "___cxa_end_catch", referenced from:
[exec] NewThreadFunction(void*) in libpolyml.a(processes.o)
[exec] Processes::ForkThread(ProcessTaskData*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::ForkFromRTS(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(processes.o)
[exec] Processes::BeginRootThread(PolyObject*) in libpolyml.a(processes.o)
[exec] EnterPolyCode(TaskData*) in libpolyml.a(run_time.o)
[exec] MemMgr::AddLocalSpace(LocalMemSpace*) in libpolyml.a(memmgr.o)
[exec] MemMgr::NewLocalSpace(unsigned long, bool)in libpolyml.a(memmgr.o)
[exec] ...
[exec] "___cxa_get_exception_ptr", referenced from:
[exec] NewThreadFunction(void*) in libpolyml.a(processes.o)
[exec] Processes::ForkThread(ProcessTaskData*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::ForkFromRTS(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(processes.o)
[exec] Processes::BeginRootThread(PolyObject*) in libpolyml.a(processes.o)
[exec] EnterPolyCode(TaskData*) in libpolyml.a(run_time.o)
[exec] MemMgr::AddLocalSpace(LocalMemSpace*) in libpolyml.a(memmgr.o)
[exec] MemMgr::NewLocalSpace(unsigned long, bool)in libpolyml.a(memmgr.o)
[exec] ...
[exec] "___cxa_guard_abort", referenced from:
[exec] SigHandler::Init() in libpolyml.a(sighandler.o)
[exec] "___cxa_guard_acquire", referenced from:
[exec] SigHandler::Init() in libpolyml.a(sighandler.o)
[exec] "___cxa_guard_release", referenced from:
[exec] SigHandler::Init() in libpolyml.a(sighandler.o)
[exec] "___cxa_pure_virtual", referenced from:
[exec] vtable for MainThreadRequestin libpolyml.a(gc.o)
[exec] vtable for TaskDatain libpolyml.a(processes.o)
[exec] vtable for ProcessExternalin libpolyml.a(processes.o)
[exec] vtable for MachineDependentin libpolyml.a(x86_dep.o)
[exec] vtable for QuickGCScannerin libpolyml.a(quick_gc.o)
[exec] vtable for MainThreadRequestin libpolyml.a(profiling.o)
[exec] vtable for MainThreadRequestin libpolyml.a(sighandler.o)
[exec] ...
[exec] "___cxa_rethrow", referenced from:
[exec] process_env_dispatch_c(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(process_env.o)
[exec] "___cxa_throw", referenced from:
[exec] PExport::exportStore() in libpolyml.a(pexport.o)
[exec] Processes::BlockAndRestart(TaskData*, Waiter*, bool, int)in libpolyml.a(processes.o)
[exec] Processes::TestAnyEvents(TaskData*) in libpolyml.a(processes.o)
[exec] Processes::TestSynchronousRequests(TaskData*) in libpolyml.a(processes.o)
[exec] Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*, PolyWord)in libpolyml.a(processes.o)
[exec] Processes::ThreadDispatch(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(processes.o)
[exec] Processes::ProcessAsynchRequests(TaskData*) in libpolyml.a(processes.o)
[exec] ...
[exec] "___gmpn_add_n", referenced from:
[exec] add_unsigned_long(TaskData*, SaveVecEntry*, SaveVecEntry*, int)in libpolyml.a(arb.o)
[exec] "___gmpn_gcd", referenced from:
[exec] gcd_arbitrary(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(arb.o)
[exec] "___gmpn_gcd_1", referenced from:
[exec] gcd_arbitrary(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(arb.o)
[exec] "___gmpn_lshift", referenced from:
[exec] gcd_arbitrary(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(arb.o)
[exec] "___gmpn_mul", referenced from:
[exec] mult_longc(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(arb.o)
[exec] "___gmpn_rshift", referenced from:
[exec] gcd_arbitrary(TaskData*, SaveVecEntry*, SaveVecEntry*)in libpolyml.a(arb.o)
[exec] "___gmpn_sub_n", referenced from:
[exec] sub_unsigned_long(TaskData*, SaveVecEntry*, SaveVecEntry*, int)in libpolyml.a(arb.o)
[exec] "___gmpn_tdiv_qr", referenced from:
[exec] quotRem(TaskData*, SaveVecEntry*, SaveVecEntry*, SaveVecEntry*&, SaveVecEntry*&)in libpolyml.a(arb.o)
[exec] "___gxx_personality_v0", referenced from:
[exec] Dwarf Exception Unwind Info (__eh_frame) in libpolyml.a(mpoly.o)
[exec] Dwarf Exception Unwind Info (__eh_frame) in libpolyml.a(gc.o)
[exec] Dwarf Exception Unwind Info (__eh_frame) in libpolyml.a(diagnostics.o)
[exec] Dwarf Exception Unwind Info (__eh_frame) in libpolyml.a(rts_module.o)
[exec] Dwarf Exception Unwind Info (__eh_frame) in libpolyml.a(pexport.o)
[exec] Dwarf Exception Unwind Info (__eh_frame) in libpolyml.a(processes.o)
[exec] Dwarf Exception Unwind Info (__eh_frame) in libpolyml.a(run_time.o)
[exec] ...
[exec] ld: symbol(s) not found for architecture x86_64
[exec] collect2: ld returned 1 exit status
[exec] make: *** [bin/quanto-core] Error 1
BUILD FAILED
/Users/hde/Documents/school/Research/tools/quantomatic/quantomatic/build.xml:32: exec returned: 2
Total time: 1 second
Does anyone know how to fix this?
Very best,
.\ Harley