[PPL-devel] Problema nella compilazione sotto mac os x 10.4.9

Valerio Senni senni at disp.uniroma2.it
Mon May 7 16:49:04 CEST 2007


Sorry for writing in italian...
Thank you for the super-fast reply.
I was trying to install PPL 0.9.
I don't understand from the linker's error message to which library
belong the symbols he's looking for...
whether they belong to the gmp library (which it may be the case I 
compiled with the wrong options)
or to the SICStus' library or to PPL.

I'm pretty sure the linker has some problems with the gmp library
but I cannot "interpret" the linker's output

Thank you again for any help
Valerio

Roberto Bagnara wrote:
> Valerio Senni wrote:
>> Spero di non essere off-topic con il seguente messaggio.
>> In questo caso mi scuso anticipatamente.
>> Dopo aver compilato gmp library,
>> nella compilazione della PPL mi dà il seguente errore
>> riguardo il modulo per l'interfaccia con SICStus
>>
>> A cosa è dovuto questo errore?
>> Grazie per qualunque suggerimento mi possiate dare.
>
> Dear Valerio,
>
> your message is perfectly adequate for the list.  However, the list
> language is English, hence my reply is in English.
>
>> ...
>>
>> Making all in SICStus
>> /bin/sh ../../../libtool --mode=link --tag=CXX \
>> spld --main=prolog \
>> --cflag=`echo ' -W -Wall  -g -O2 -Wno-long-double' | tr " " ","` \
>>         --resources=ppl_sicstus.s.o -o ppl_sicstus \
>>         ../../../src/libppl.la \
>>         ../../../Watchdog/src/libpwl.la \
>>          -lm -L/usr/local/lib -lgmpxx -L/usr/local/lib -lgmp 
>> -R/usr/local/lib -R/usr/local/lib
>> spld --main=prolog --cflag=,-W,-Wall,,-g,-O2,-Wno-long-double 
>> --resources=ppl_sicstus.s.o -o .libs/ppl_sicstus -Wl,-bind_at_load  
>> ../../../src/.libs/libppl.dylib 
>> ../../../Watchdog/src/.libs/libpwl.dylib -lm -L/usr/local/lib 
>> /usr/local/lib/libgmpxx.dylib /usr/local/lib/libgmp.dylib
>> SICStus 3.11.2 (powerpc-darwin-7.4.0): Wed Jun  2 11:48:07 CEST 2004
>> Licensed to uniroma2.it
>> /usr/bin/ld: Undefined symbols:
>> __gnu_cxx::__exchange_and_add(int volatile*, int)
>> std::logic_error::what() const
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>  >::_Rep::_M_destroy(std::allocator<char> const&)
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>  >::_Rep::_S_terminal
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>  >::_Rep::_S_empty_rep_storage
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>  >::_Rep::_S_create(unsigned long, unsigned long, 
>> std::allocator<char> const&)
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>  >::basic_string(char const*, std::allocator<char> const&)
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>  >::basic_string(std::basic_string<char, std::char_traits<char>, 
>> std::allocator<char> > const&)
>> std::basic_string<char, std::char_traits<char>, std::allocator<char> 
>>  >::~basic_string()
>> std::logic_error::~logic_error()
>> std::domain_error::domain_error(std::basic_string<char, 
>> std::char_traits<char>, std::allocator<char> > const&)
>> std::length_error::length_error(std::basic_string<char, 
>> std::char_traits<char>, std::allocator<char> > const&)
>> std::invalid_argument::invalid_argument(std::basic_string<char, 
>> std::char_traits<char>, std::allocator<char> > const&)
>> std::basic_ostringstream<char, std::char_traits<char>, 
>> std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)
>> std::locale::~locale()
>> std::ios_base::Init::Init()
>> std::ios_base::Init::~Init()
>> std::ios_base::~ios_base()
>> std::__throw_bad_alloc()
>> std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)
>> std::_Rb_tree_decrement(std::_Rb_tree_node_base*)
>> std::__throw_logic_error(char const*)
>> std::__throw_length_error(char const*)
>> std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, 
>> std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
>> std::terminate()
>> typeinfo for std::logic_error
>> typeinfo for std::runtime_error
>> typeinfo for std::bad_alloc
>> typeinfo for std::exception
>> VTT for std::basic_ostringstream<char, std::char_traits<char>, 
>> std::allocator<char> >
>> vtable for __cxxabiv1::__class_type_info
>> vtable for __cxxabiv1::__si_class_type_info
>> vtable for __cxxabiv1::__vmi_class_type_info
>> vtable for std::basic_streambuf<char, std::char_traits<char> >
>> vtable for std::basic_stringbuf<char, std::char_traits<char>, 
>> std::allocator<char> >
>> vtable for std::basic_ostringstream<char, std::char_traits<char>, 
>> std::allocator<char> >
>> vtable for std::basic_ios<char, std::char_traits<char> >
>> operator delete(void*)
>> operator new(unsigned long)
>> ___cxa_allocate_exception
>> ___cxa_begin_catch
>> ___cxa_end_catch
>> ___cxa_free_exception
>> ___cxa_guard_abort
>> ___cxa_guard_acquire
>> ___cxa_guard_release
>> ___cxa_pure_virtual
>> ___cxa_rethrow
>> ___cxa_throw
>> ___gxx_personality_v0
>> collect2: ld returned 1 exit status
>> ! compiler command failed: 256 at /usr/local/bin/spld line 700, 
>> <CONF> line 126.
>> make[4]: *** [ppl_sicstus] Error 1
>> make[3]: *** [all-recursive] Error 1
>> make[2]: *** [all-recursive] Error 1
>> make[1]: *** [all-recursive] Error 1
>> make: *** [all] Error 2
>
> This seems to indicate that, for some reason, the version of spld
> you have in your system fails to link with the C++ standard library.
> For comparison, here is what happens under Linux:
>
> /bin/sh ../../../libtool --mode=link --tag=CXX \
> spld --main=prolog \
> --cflag=`echo ' -W -Wall  -g -O2' | tr " " ","` \
>         --resources=ppl_sicstus.s.o -o ppl_sicstus \
>         ../../../src/libppl.la \
>         ../../../Watchdog/src/libpwl.la \
>          -lm -L/usr/local/lib -lgmpxx
> -L/usr/local/distrib/objdir/i686-pc-linux-gnu/libstdc++-v3/src
> -L/usr/local/distrib/objdir/i686-pc-linux-gnu/libstdc++-v3/src/.libs
> -L/usr/local/distrib/objdir/./gcc
> -L/usr/local/lib/gcc/i686-pc-linux-gnu/../.. -L/usr/local/lib -lgmp
> -R/usr/local/lib -R/usr/local/lib spld --main=prolog
> --cflag=,-W,-Wall,,-g,-O2 --resources=ppl_sicstus.s.o -o
> .libs/ppl_sicstus ../../../src/.libs/libppl.so
> -L/usr/local/distrib/objdir/i686-pc-linux-gnu/libstdc++-v3/src
> -L/usr/local/distrib/objdir/i686-pc-linux-gnu/libstdc++-v3/src/.libs
> -L/usr/local/distrib/objdir/./gcc
> -L/usr/local/lib/gcc/i686-pc-linux-gnu/../.. 
> ../../../Watchdog/src/.libs/libpwl.so
> -lm -L/usr/local/lib /usr/local/lib/libgmpxx.so
> /usr/local/lib/libstdc++.so /usr/local/lib/libgmp.so -Wl,--rpath
> -Wl,/usr/local/lib
> Created ".libs/ppl_sicstus"
> creating ppl_sicstus
>
> I have just tried with the MacIntel of a colleague and there were no 
> problems
> there.  I don't really know how to help you without the ability to 
> reproduce
> the problem.  You are trying to install PPL 0.9, right?
> All the best,
>
>     Roberto
>




More information about the PPL-devel mailing list