You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@impala.apache.org by "Hollow D.M." <pl...@gmail.com> on 2022/09/19 10:58:45 UTC

Problems while Run with Custom kudu 1.16 library on impala 4.1.0

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

Re: Problems while Run with Custom kudu 1.16 library on impala 4.1.0

Posted by Alexey Serbin <as...@cloudera.com>.
Ah, great -- thank you for the update!
I'm glad to hear you solved the issue and library symbols match now.


Kind regards,

Alexey

On Tue, Sep 20, 2022 at 8:07 AM Hollow D.M. <pl...@gmail.com> wrote:

>    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. <pl...@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 <as...@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. <pl...@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
>>>>
>>>

Re: Problems while Run with Custom kudu 1.16 library on impala 4.1.0

Posted by "Hollow D.M." <pl...@gmail.com>.
   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. <pl...@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 <as...@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. <pl...@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
>>>
>>

Re: Problems while Run with Custom kudu 1.16 library on impala 4.1.0

Posted by "Hollow D.M." <pl...@gmail.com>.
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 <as...@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. <pl...@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
>>
>

Re: Problems while Run with Custom kudu 1.16 library on impala 4.1.0

Posted by Alexey Serbin <as...@cloudera.com>.
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. <pl...@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
>