Forum Stats

  • 3,771,062 Users
  • 2,253,216 Discussions
  • 7,875,729 Comments

Discussions

Undefined references while linking.

Hanumesh NK-Oracle
Hanumesh NK-Oracle Member Posts: 3 Employee

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.