problems Resolved ,use toolchain toolchain-packages-gcc7.5.0 from impala 4.1.0 to build kudu_client , the library symbol is match impalad .
Thanks Hollow D.M. <plasme...@gmail.com> 于2022年9月20日周二 11:01写道: > 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 >>> >>