While running a c++ shared object on AIX I am facing below error -
rtld: 0712-001 Symbol __ct__3ETDFv was referenced
from module /bancs/aml/lib/libmonitor.so(), but a runtime definition
of the symbol was not found.
rtld: 0712-001 Symbol etd_insert__3ETDFv was referenced
from module /bancs/aml/lib/libmonitor.so(), but a runtime definition
of the symbol was not found.
I have done nm on libmonitor.so from that I am getting below lines -
ETD::ETD() U -
ETD::ETD() d 537021800 4
ETD::etd_insert() U -
ETD::etd_insert() d 537021804 4
ETD:T277=Y102600cu0:3(cup18__vft3ETD8FINDNAXL:__vfp:9,0,32;u:cd_EpfKey:-13,820288,64;u:cd_TrsSeqno:-13,820352,64;u:cca_BmId:272,820416,328;u:ci_HolidayFlag:-1,820768,32;u[c:__ct__3ETDFv:239;u[f:etd_insert__3ETDFv:860;; - 0
but I am new to unix so can't understand it.
Can someone please explain this output ?
Can we get which library is missing from this output ?
The same .so is running fine on another server.
Thanks.
libmonitor.so needs __ct__3ETDFv, but can not find it at runtime, so you need to make sure that function can be found at runtime.
first you need to know where __ct__3ETDFv is, in another so or somewhere, and if so, put the so containning __ct__3ETDFv in the std lib path and run ldconfig, and try again.