I am tying to build icu 70.1 on solaris (SunOS 11.3 sun4v sparc) using "Solaris developer studio 2.5". Iam seeing below error.
/comms/tools/apps/solarisstudio125/bin/CC -xarch=sparc -m64 -norunpath -g -Wno-ambiguous-reversed-operator -mt -std=c++11 -Wl,-R$ORIGIN/../lib:/comms/tools/apps/solarisstudio125/lib/compilers/atomic/sparcv9 -z defs -z text -z ignore -lCstd -lCrun -lc -G -h libicuuc.so.70 -o ../lib/libicuuc.so.70.1 appendable.o ... wintz.o -L../lib -L../stubdata -licudata -lpthread -lm -mt
Undefined first referenced
symbol in file
std::condition_variable::~condition_variable() umutex.o
std::condition_variable::condition_variable() umutex.o
vtable for __cxxabiv1::__si_class_type_info appendable.o
[Hint: static member vtable for __cxxabiv1::__si_class_type_info must be defined in the program]
__cxa_end_catch brkeng.o
__cxa_begin_catch brkeng.o
operator delete(void*) localematcher.o
std::condition_variable::notify_all() umutex.o
std::condition_variable::wait(std::unique_lockstd::mutex&) umutex.o
__cxxabiv1::zero_bytes(void*, unsigned long) localebuilder.o
__SUNW_ABIG3_cpp_personality appendable.o
std::__once_callable umutex.o
[Hint: static member std::__once_callable must be defined in the program]
__cxa_bad_typeid rbbi.o
std::terminate() brkeng.o
vtable for __cxxabiv1::__vmi_class_type_info localematcher.o
[Hint: static member vtable for __cxxabiv1::__vmi_class_type_info must be defined in the program]
__dynamic_cast normalizer2.o
__cxxabiv1::zero_ptrs(void*, unsigned long) brkiter.o
__cxxabiv1::vector_del(void*, unsigned long, void ()(void)) caniter.o
vtable for __cxxabiv1::__class_type_info bmpset.o
[Hint: static member vtable for __cxxabiv1::__class_type_info must be defined in the program]
__cxa_pure_virtual appendable.o
__once_proxy umutex.o
__cxa_rethrow brkeng.o
std::__once_call umutex.o
[Hint: static member std::__once_call must be defined in the program]
__cxxabiv1::vector_new(void*, unsigned long, unsigned long, void ()(void), void ()(void)) caniter.o
__cxa_vec_dtor dictbe.o
__cxa_vec_ctor characterproperties.o
std::__throw_system_error(int) umutex.o
ld: fatal: symbol referencing errors
I also tried running above command by replacing "-lpthread -lm -mt" flags with "-mt -lstdc++ -lgcc_s -lm -lc", it gives below error:
<<<
-bash-4.4$ /comms/tools/apps/solarisstudio125/bin/CC -xarch=sparc -m64 -norunpath -g -Wno-ambiguous-reversed-operator -mt -std=c++11 -Wl,-R$ORIGIN/../lib:/comms/tools/apps/solarisstudio125/lib/compilers/atomic/sparcv9 -z defs -z text -z ignore -lCstd -lCrun -lc -G -h libicuuc.so.70 -o ../lib/libicuuc.so.70.1 appendable.o ... wintz.o -L../lib -L../stubdata -licudata -mt -lstdc++ -lgcc_s -lm -lc
Undefined first referenced
symbol in file
__cxxabiv1::zero_bytes(void*, unsigned long) localebuilder.o
__SUNW_ABIG3_cpp_personality appendable.o
__cxxabiv1::zero_ptrs(void*, unsigned long) brkiter.o
__cxxabiv1::vector_del(void*, unsigned long, void ()(void)) caniter.o
__cxxabiv1::vector_new(void*, unsigned long, unsigned long, void ()(void), void ()(void)) caniter.o
ld: fatal: symbol referencing errors
Am i missing any flags, libs should to be included?
What could be the problem?
Many thanks in advance.