You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by Alex Behm <al...@cloudera.com> on 2017/01/14 20:47:41 UTC

run-tests.py on Ubuntu 16.04

Anyone seen this and know how to fix?

abehm@thinkpad:~/impala/tests$ ./run-tests.py
query_test/test_avro_schema_resolution.py
...
Traceback (most recent call last):
  File
"/home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/_pytest/config.py",
line 543, in importconftest
    mod = conftestpath.pyimport()
  File
"/home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/py/_path/local.py",
line 650, in pyimport
    __import__(modname)
  File "/home/abehm/impala/tests/conftest.py", line 21, in <module>
    from kudu import connect as kudu_connect
  File
"/home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/kudu/__init__.py",
line 18, in <module>
    from kudu.client import (Client, Table, Scanner, Session,  # noqa
ImportError:
/home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/kudu/client.so:
undefined symbol: _ZNK4kudu6client10KuduTablet2idB5cxx11Ev
ERROR: could not load /home/abehm/impala/tests/conftest.py

Re: run-tests.py on Ubuntu 16.04

Posted by Alex Behm <al...@cloudera.com>.
Thanks, Tim. Unfortunately, that did not work. Same error.

On Tue, Jan 17, 2017 at 8:56 PM, Tim Armstrong <ta...@cloudera.com>
wrote:

> I haven't gotten the Kudu server working on Ubuntu 16.04 (because of
> LD_LIBRARY_PATH issues) but I haven't had problems with the client.
> It might help to blow away infra/python/env and ~/.cache/pip and
> re-bootstrap the virtualenv.
>
> - Tim
>
> On Sat, Jan 14, 2017 at 12:47 PM, Alex Behm <al...@cloudera.com>
> wrote:
>
> > Anyone seen this and know how to fix?
> >
> > abehm@thinkpad:~/impala/tests$ ./run-tests.py
> > query_test/test_avro_schema_resolution.py
> > ...
> > Traceback (most recent call last):
> >   File
> > "/home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/_pytest/config.py",
> > line 543, in importconftest
> >     mod = conftestpath.pyimport()
> >   File
> > "/home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/py/_path/local.py",
> > line 650, in pyimport
> >     __import__(modname)
> >   File "/home/abehm/impala/tests/conftest.py", line 21, in <module>
> >     from kudu import connect as kudu_connect
> >   File
> > "/home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/kudu/__init__.py",
> > line 18, in <module>
> >     from kudu.client import (Client, Table, Scanner, Session,  # noqa
> > ImportError:
> > /home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/kudu/client.so:
> > undefined symbol: _ZNK4kudu6client10KuduTablet2idB5cxx11Ev
> > ERROR: could not load /home/abehm/impala/tests/conftest.py
> >
>

Re: run-tests.py on Ubuntu 16.04

Posted by Tim Armstrong <ta...@cloudera.com>.
I haven't gotten the Kudu server working on Ubuntu 16.04 (because of
LD_LIBRARY_PATH issues) but I haven't had problems with the client.
It might help to blow away infra/python/env and ~/.cache/pip and
re-bootstrap the virtualenv.

- Tim

On Sat, Jan 14, 2017 at 12:47 PM, Alex Behm <al...@cloudera.com> wrote:

> Anyone seen this and know how to fix?
>
> abehm@thinkpad:~/impala/tests$ ./run-tests.py
> query_test/test_avro_schema_resolution.py
> ...
> Traceback (most recent call last):
>   File
> "/home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/_pytest/config.py",
> line 543, in importconftest
>     mod = conftestpath.pyimport()
>   File
> "/home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/py/_path/local.py",
> line 650, in pyimport
>     __import__(modname)
>   File "/home/abehm/impala/tests/conftest.py", line 21, in <module>
>     from kudu import connect as kudu_connect
>   File
> "/home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/kudu/__init__.py",
> line 18, in <module>
>     from kudu.client import (Client, Table, Scanner, Session,  # noqa
> ImportError:
> /home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/kudu/client.so:
> undefined symbol: _ZNK4kudu6client10KuduTablet2idB5cxx11Ev
> ERROR: could not load /home/abehm/impala/tests/conftest.py
>

Re: run-tests.py on Ubuntu 16.04

Posted by Alex Behm <al...@cloudera.com>.
Thanks Martin and Todd. I was not aware of the default ABI changes.

On Tue, Jan 17, 2017 at 11:07 PM, Todd Lipcon <to...@cloudera.com> wrote:

> FWIW you can probably get the python client to disable the new ABI by
> adding -D_GLIBCXX_USE_CXX11_ABI=0 to CXXFLAGS when you invoke setup.py.
> This is only a problem on 16.04 since they switched the default ABI in that
> release.
>
> -Todd
>
> On Tue, Jan 17, 2017 at 10:22 PM, Martin Grund (Das Grundprinzip.de) <
> grundprinzip@gmail.com> wrote:
>
> > It looks like it tries to load a function with a symbol that the Kudu
> > client library does not provide. If you haven't so far, I would nm the
> Kudu
> > client libary and grep for the KuduTablet symbol. According to the
> > demangler.com the symbol it's looking for uses the new C++11 ABI and I
> > might guess that you're still compiling with the old one? Without knowing
> > anything I might guess that the python package was compiled with a more
> > recent compiler (new ABI enabled by default) but the toolchain Kudu
> client
> > has the old ABI set.
> >
> > kudu::client::KuduTablet::id[abi:cxx11]() const
> >
> > Maybe this helps,
> > Martin
> >
> > On Sat, Jan 14, 2017 at 12:47 PM Alex Behm <al...@cloudera.com>
> wrote:
> >
> > > Anyone seen this and know how to fix?
> > >
> > > abehm@thinkpad:~/impala/tests$ ./run-tests.py
> > > query_test/test_avro_schema_resolution.py
> > > ...
> > > Traceback (most recent call last):
> > >   File
> > >
> > > "/home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/_pytest/config.py",
> > > line 543, in importconftest
> > >     mod = conftestpath.pyimport()
> > >   File
> > >
> > > "/home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/py/_path/local.py",
> > > line 650, in pyimport
> > >     __import__(modname)
> > >   File "/home/abehm/impala/tests/conftest.py", line 21, in <module>
> > >     from kudu import connect as kudu_connect
> > >   File
> > >
> > > "/home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/kudu/__init__.py",
> > > line 18, in <module>
> > >     from kudu.client import (Client, Table, Scanner, Session,  # noqa
> > > ImportError:
> > >
> > > /home/abehm/impala/infra/python/env/local/lib/python2.
> > 7/site-packages/kudu/client.so:
> > > undefined symbol: _ZNK4kudu6client10KuduTablet2idB5cxx11Ev
> > > ERROR: could not load /home/abehm/impala/tests/conftest.py
> > >
> >
>
>
>
> --
> Todd Lipcon
> Software Engineer, Cloudera
>

Re: run-tests.py on Ubuntu 16.04

Posted by Todd Lipcon <to...@cloudera.com>.
FWIW you can probably get the python client to disable the new ABI by
adding -D_GLIBCXX_USE_CXX11_ABI=0 to CXXFLAGS when you invoke setup.py.
This is only a problem on 16.04 since they switched the default ABI in that
release.

-Todd

On Tue, Jan 17, 2017 at 10:22 PM, Martin Grund (Das Grundprinzip.de) <
grundprinzip@gmail.com> wrote:

> It looks like it tries to load a function with a symbol that the Kudu
> client library does not provide. If you haven't so far, I would nm the Kudu
> client libary and grep for the KuduTablet symbol. According to the
> demangler.com the symbol it's looking for uses the new C++11 ABI and I
> might guess that you're still compiling with the old one? Without knowing
> anything I might guess that the python package was compiled with a more
> recent compiler (new ABI enabled by default) but the toolchain Kudu client
> has the old ABI set.
>
> kudu::client::KuduTablet::id[abi:cxx11]() const
>
> Maybe this helps,
> Martin
>
> On Sat, Jan 14, 2017 at 12:47 PM Alex Behm <al...@cloudera.com> wrote:
>
> > Anyone seen this and know how to fix?
> >
> > abehm@thinkpad:~/impala/tests$ ./run-tests.py
> > query_test/test_avro_schema_resolution.py
> > ...
> > Traceback (most recent call last):
> >   File
> >
> > "/home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/_pytest/config.py",
> > line 543, in importconftest
> >     mod = conftestpath.pyimport()
> >   File
> >
> > "/home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/py/_path/local.py",
> > line 650, in pyimport
> >     __import__(modname)
> >   File "/home/abehm/impala/tests/conftest.py", line 21, in <module>
> >     from kudu import connect as kudu_connect
> >   File
> >
> > "/home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/kudu/__init__.py",
> > line 18, in <module>
> >     from kudu.client import (Client, Table, Scanner, Session,  # noqa
> > ImportError:
> >
> > /home/abehm/impala/infra/python/env/local/lib/python2.
> 7/site-packages/kudu/client.so:
> > undefined symbol: _ZNK4kudu6client10KuduTablet2idB5cxx11Ev
> > ERROR: could not load /home/abehm/impala/tests/conftest.py
> >
>



-- 
Todd Lipcon
Software Engineer, Cloudera

Re: run-tests.py on Ubuntu 16.04

Posted by "Martin Grund (Das Grundprinzip.de)" <gr...@gmail.com>.
It looks like it tries to load a function with a symbol that the Kudu
client library does not provide. If you haven't so far, I would nm the Kudu
client libary and grep for the KuduTablet symbol. According to the
demangler.com the symbol it's looking for uses the new C++11 ABI and I
might guess that you're still compiling with the old one? Without knowing
anything I might guess that the python package was compiled with a more
recent compiler (new ABI enabled by default) but the toolchain Kudu client
has the old ABI set.

kudu::client::KuduTablet::id[abi:cxx11]() const

Maybe this helps,
Martin

On Sat, Jan 14, 2017 at 12:47 PM Alex Behm <al...@cloudera.com> wrote:

> Anyone seen this and know how to fix?
>
> abehm@thinkpad:~/impala/tests$ ./run-tests.py
> query_test/test_avro_schema_resolution.py
> ...
> Traceback (most recent call last):
>   File
>
> "/home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/_pytest/config.py",
> line 543, in importconftest
>     mod = conftestpath.pyimport()
>   File
>
> "/home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/py/_path/local.py",
> line 650, in pyimport
>     __import__(modname)
>   File "/home/abehm/impala/tests/conftest.py", line 21, in <module>
>     from kudu import connect as kudu_connect
>   File
>
> "/home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/kudu/__init__.py",
> line 18, in <module>
>     from kudu.client import (Client, Table, Scanner, Session,  # noqa
> ImportError:
>
> /home/abehm/impala/infra/python/env/local/lib/python2.7/site-packages/kudu/client.so:
> undefined symbol: _ZNK4kudu6client10KuduTablet2idB5cxx11Ev
> ERROR: could not load /home/abehm/impala/tests/conftest.py
>