Description:
In the current build of 5.0.3, based on changeSet
1.1771 05/01/13 15:10:12 lenz@mysql.com +1 -0
- keep 5.0.3-alpha version string (after-merge fix)
'ndb_mgmd' fails to link on barney, butch-64bit, powermacg4, powermacg5, and sunfire100b-64bit.
This is due to an unresolved reference (and possibly several double definitions):
cxx -O3 -DDBUG_OFF -O4 -ansi_alias -fast -inline speed -noexceptions -nortti -DUNDEF_HAVE_GETHOSTBYNAME_R -DSNPRINTF_RETURN_TRUNC -I/usr/include/cxx -I/usr/include/cxx_cname -I/usr/include -I/usr/include.dtk -o ndb_mgmd MgmtSrvr.o MgmtSrvrGeneralSignalHandling.o main.o Services.o convertStrToInt.o SignalQueue.o MgmtSrvrConfig.o ConfigInfo.o InitConfigFileParser.o Config.o ../../../ndb/src/common/portlib/gcc.cpp ../../../ndb/src/mgmclient/CommandInterpreter.o -pthread ../../../ndb/src/.libs/libndbclient.a -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc -lpthread -lmach -lexc -lc ../../../dbug/libdbug.a ../../../mysys/libmysys.a ../../../strings/libmystrings.a ../../../cmd-line-utils/libedit/libedit.a -lcurses -lpthread -lmach -lexc -lc -lm -lpthread -lmach -lexc -lc
ld (prelink):
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::Vector(int): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::~Vector(void): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::operator [](unsigned int): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::operator [](unsigned int) const : multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::push_back(const unsigned short&): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::back(void): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::erase(unsigned int): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::clear(void): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::fill(unsigned int, unsigned short&): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::operator =(const Vector<unsigned short>&): multiply defined
ld:
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::Vector(int): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::~Vector(void): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::operator [](unsigned int): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::operator [](unsigned int) const : multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::push_back(const unsigned short&): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::back(void): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::erase(unsigned int): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::clear(void): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::fill(unsigned int, unsigned short&): multiply defined
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o): Vector<unsigned short>::operator =(const Vector<unsigned short>&): multiply defined
Unresolved:
NdbEventImpl::setDurability(EventDurability)
gmake[4]: *** [ndb_mgmd] Error 1
On powermacg4, there is information about the origins of the double definitions:
ld: multiple definitions of symbol Vector<unsigned short>::back()
Services.o definition of Vector<unsigned short>::back() in section (__TEXT,__text)
../../../ndb/src/.libs/libndbclient.a(NdbDictionaryImpl.o) definition of Vector<unsigned short>::back() in section (__TEXT,__text)
(the same module names are listed for the other double defined symbols, with the sole exception)
ld: warning multiple definitions of symbol _qsort
../../../mysys/libmysys.a(mf_qsort.o) definition of _qsort in section (__TEXT,__text)
/usr/lib/libm.dylib(qsort.So) definition of _qsort
How to repeat:
Build with NDB on these platforms.