Building Quantomatic on Mac OS X

35 views
Skip to first unread message

Harley D. Eades III

unread,
Apr 4, 2014, 11:05:29 AM4/4/14
to quant...@googlegroups.com
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:

- git clone git://github.com/Quantomatic/isaplib.git -b stable
- git clone git://github.com/Quantomatic/quantomatic.git -b stable &&
  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


Aleks Kissinger

unread,
Apr 4, 2014, 12:47:53 PM4/4/14
to quant...@googlegroups.com
How do you have gcc set up? Are you using the normal one that comes
with Developer Tools?
> --
> You received this message because you are subscribed to the Google Groups
> "Quantomatic" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to quantomatic...@googlegroups.com.
> To post to this group, send email to quant...@googlegroups.com.
> Visit this group at http://groups.google.com/group/quantomatic.
> For more options, visit https://groups.google.com/d/optout.

Vyacheslavs Kashcheyevs

unread,
Jul 29, 2014, 6:36:12 PM7/29/14
to quant...@googlegroups.com
Hi!

I am have the same issue - trying a clean install on a Mac OS X, get the same error messages as Harley.

I have Xcode installed, inovking "gcc --version" gives:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix


How can I fix this?

Aleks Kissinger

unread,
Jul 30, 2014, 3:32:31 AM7/30/14
to quant...@googlegroups.com
I'm not sure what's causing this. The only notable difference I have
is running poly 5.5.0, not 5.5.1.

The instructions on that site are now very out of date, I just haven't
had a chance to take them down yet.

Here is the new website for Quantomatic: http://quantomatic.github.io

There are now pre-compiled versions for Linux, Windows, and OS X.

Vyacheslavs Kashcheyevs

unread,
Jul 30, 2014, 4:45:15 AM7/30/14
to quant...@googlegroups.com
The precompiled version for OS X installed like a charm, thank you!
Reply all
Reply to author
Forward
0 new messages