Thanks for the pointer.

I would like to report that the new default to not build a shared library
means Poly/ML 5.5.1 does not build HOL4 unless you use the --enable-shared
option at configure time.
Is this as expected, or is there some other possible solution?


Interestingly, even when --enable-shared is given at configure time, the
polyc script prints some errors where it probably shouldn't:
% polyc
Usage: file [-bchikLlNnprsvz0] [--apple] [--mime-encoding] [--mime-type]
            [-e testname] [-F separator] [-f namefile] [-m magicfiles] file
...
       file -C [-m magicfiles]
       file [--help]
/usr/lib/libpolymain.a(polystub.o): In function `main':
(.text.startup+0x1): undefined reference to `poly_exports'
collect2: error: ld returned 1 exit status


And here is the beginning of the long list of errors, if --enable-shared is
not used when building poly, and then trying to build hol:

~/HOL % poly < tools/smart-configure.sml
Poly/ML 5.5.1 Release

HOL smart configuration.

Determining configuration parameters: holdir OS poly polymllibdir
OS:                 linux
poly:               /usr/bin/poly
polymllibdir:       /usr/lib
holdir:             /home/ramana/HOL
DOT_PATH:           /usr/bin/dot

Configuration will begin with above values.  If they are wrong
press Control-C.

Will continue in 1 seconds.

Loading system specific functions
Compiling system specific functions (sig sml)
Beginning configuration.
Making tools/mllex/mllex.exe.
Poly/ML 5.5.1 Release
/usr/lib/libpolyml.a(basicio.o): In function `retry_rts_call(TaskData*)':
(.text+0x51f): undefined reference to `__cxa_allocate_exception'
/usr/lib/libpolyml.a(basicio.o): In function `retry_rts_call(TaskData*)':
(.text+0x534): undefined reference to `__cxa_throw'
/usr/lib/libpolyml.a(basicio.o): In function `BasicIO::~BasicIO()':
(.text._ZN7BasicIOD0Ev[_ZN7BasicIOD0Ev]+0x8): undefined reference to
`operator delete(void*)'
/usr/lib/libpolyml.a(basicio.o): In function `WaitStream::~WaitStream()':
(.text._ZN10WaitStreamD0Ev[_ZN10WaitStreamD0Ev]+0x8): undefined reference
to `operator delete(void*)'
/usr/lib/libpolyml.a(basicio.o):(.rodata._ZTI10WaitStream[_ZTI10WaitStream]+0x0):
undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/usr/lib/libpolyml.a(basicio.o):(.rodata._ZTI7BasicIO[_ZTI7BasicIO]+0x0):
undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::TestSynchronousRequests(TaskData*)':
(.text+0x1de): undefined reference to `__cxa_allocate_exception'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::TestSynchronousRequests(TaskData*)':
(.text+0x1ed): undefined reference to `__cxa_throw'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::TestSynchronousRequests(TaskData*)':
(.text+0x229): undefined reference to `__cxa_allocate_exception'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::TestSynchronousRequests(TaskData*)':
(.text+0x23e): undefined reference to `__cxa_throw'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BlockAndRestart(TaskData*, Waiter*, bool, int)':
(.text+0x3ac): undefined reference to `__cxa_allocate_exception'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BlockAndRestart(TaskData*, Waiter*, bool, int)':
(.text+0x3c1): undefined reference to `__cxa_throw'
/usr/lib/libpolyml.a(processes.o): In function `Processes::Exit(int)':
(.text+0x58c): undefined reference to `pthread_create'
/usr/lib/libpolyml.a(processes.o): In function `Processes::Init()':
(.text+0x5ee): undefined reference to `pthread_key_create'
/usr/lib/libpolyml.a(processes.o): In function `Processes::Stop()':
(.text+0x748): undefined reference to `pthread_key_delete'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::TestAnyEvents(TaskData*)':
(.text+0x7cf): undefined reference to `__cxa_allocate_exception'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::TestAnyEvents(TaskData*)':
(.text+0x7e4): undefined reference to `__cxa_throw'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*,
PolyWord)':
(.text+0xbc6): undefined reference to `operator new(unsigned long)'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*,
PolyWord)':
(.text+0xcd1): undefined reference to `pthread_setspecific'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*,
PolyWord)':
(.text+0xd7b): undefined reference to `__cxa_allocate_exception'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*,
PolyWord)':
(.text+0xd8a): undefined reference to `__cxa_throw'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*,
PolyWord)':
(.text+0xdb9): undefined reference to `operator delete(void*)'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*,
PolyWord)':
(.text+0xdd4): undefined reference to `__cxa_allocate_exception'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::CreateNewTaskData(SaveVecEntry*, SaveVecEntry*, SaveVecEntry*,
PolyWord)':
(.text+0xde3): undefined reference to `__cxa_throw'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::ThreadExit(TaskData*)':
(.text+0xf98): undefined reference to `pthread_sigmask'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::ThreadExit(TaskData*)':
(.text+0xfa2): undefined reference to `pthread_setspecific'
/usr/lib/libpolyml.a(processes.o): In function `NewThreadFunction(void*)':
(.text+0x1068): undefined reference to `pthread_setspecific'
/usr/lib/libpolyml.a(processes.o): In function `NewThreadFunction(void*)':
(.text+0x10b3): undefined reference to `__cxa_get_exception_ptr'
/usr/lib/libpolyml.a(processes.o): In function `NewThreadFunction(void*)':
(.text+0x10bb): undefined reference to `__cxa_begin_catch'
/usr/lib/libpolyml.a(processes.o): In function `NewThreadFunction(void*)':
(.text+0x10d0): undefined reference to `__cxa_end_catch'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x1135): undefined reference to `operator new(unsigned long)'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x124c): undefined reference to `pthread_create'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x158c): undefined reference to `__cxa_get_exception_ptr'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x1598): undefined reference to `vtable for std::bad_alloc'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x159d): undefined reference to `__cxa_begin_catch'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x15c1): undefined reference to `operator delete(void*)'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x15d3): undefined reference to `std::bad_alloc::~bad_alloc()'
/usr/lib/libpolyml.a(processes.o): In function
`Processes::BeginRootThread(PolyObject*)':
(.text+0x15d8): undefined reference to `__cxa_end_catch'



On Tue, Sep 17, 2013 at 6:44 PM, David Matthews <
[email protected]> wrote:

> On 17/09/2013 18:35, Ramana Kumar wrote:
>
>> That's great :) Has the -fixes branch also been updated - or will it be?
>>
>>
> I've created a 5.5.1-fixes branch in the root.  See
> http://sourceforge.net/p/**polyml/code/HEAD/tree/<http://sourceforge.net/p/polyml/code/HEAD/tree/>
> At the moment it is just a branch of the current SVN.
>
> David
>
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to