Hi Alexey, Thank you for your reply. Seems like kudu will auto use devtoolset by script build-support/enable_devtoolset.sh ,I will try to use impala toolchain to compile it. And I try to remove call of kudu::client::GetShortVersionString() in impala source ,and its successful startup with custom kudu library . Maybe these problems just break symbols which argument with STL type(std::string) ?
WY Alexey Serbin <aser...@cloudera.com> 于2022年9月20日周二 05:21写道: > Hi, > > Did you enable the devtoolset while building the Kudu client? I guess you > did, > so according to the demangled symbols there is > kudu::client::GetShortVersionString() > in libkudu_client, but Impala > wants kudu::client::GetShortVersionString[abi:cxx11](). > > I guess the issue is the difference in how things are built in Kudu and > Impala's toolchain. > Kudu is built to target the native libstdc++ on RHEL/CentOS 7, but it > seems Impala > is compiled with libc++ ABI. You might try to compile Kudu without > enabling the devtoolset, > using the same C++ compiler that impala uses in its toolchain. > > > Kind regards, > > Alexey > > On Mon, Sep 19, 2022 at 3:59 AM Hollow D.M. <plasme...@gmail.com> wrote: > >> Hi team, >> I build Kudu 1.16.0 in centos 7 , use >> https://kudu.apache.org/docs/installation.html#rhel_from_source , and >> get library libkudu_client.so.0.1.0 . Then i put it to my impalad server >> (also compile in centos7 use >> https://cwiki.apache.org/confluence/display/IMPALA/Building+Impala) . >> But i get error while i starting service : >> >> ./impalad: symbol lookup error: ./impalad: undefined symbol: >> _ZN4kudu6client21GetShortVersionStringB5cxx11Ev >> >> Is something wrong in my toolchain? >> >> Thanks & Regards, >> WY >> >> >> btw this is result of objdump for libkudu_client.so.0.1.0 which i build: >> objdump -x libkudu_client.so.0.1.0 |grep GetShortVersionString >> 00000000000c5650 g F .text 000000000000001b >> _ZN4kudu6client21GetShortVersionStringEv >> >