Percona XtraDB Cluster - HA scalable solution for MySQL

Issues with readline and ncurses

Reported by Travis Glenn Hansen on 2012-05-15
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Percona XtraDB Cluster
Status tracked in Trunk
5.6
Undecided
Unassigned
Trunk
Low
Unassigned

Bug Description

From what I can tell libtinfo.so has long been deprecated in favor of libncurses.so. The binary builds of xtra server link against libncurses.so.5 why not xtradb cluster?

Thanks!

Tags: pkg Edit Tag help
Changed in percona-xtradb-cluster:
assignee: nobody → Ignacio Nin (ignacio-nin)
Changed in percona-xtradb-cluster:
status: New → Confirmed
status: Confirmed → Triaged
importance: Undecided → Low
Alexey Bychko (abychko) on 2013-01-21
tags: added: pkg
Alexey Bychko (abychko) wrote :

confirmed for centos-6

Changed in percona-xtradb-cluster:
milestone: none → 5.5.30-23.7.4
Changed in percona-xtradb-cluster:
status: Triaged → In Progress
Changed in percona-xtradb-cluster:
status: In Progress → Triaged
Ignacio Nin (ignacio-nin) wrote :

The binary is linked against ncurses, but for CentOS (where the binary is built) libncurses.so is what links against libtinfo.so. This may bring issues in systems where libtinfo symbols are contained in libnurses and no libtinfo.so library is provided separately.

A viable solution for this would be to link statically against ncurses.

Changed in percona-xtradb-cluster:
status: Triaged → Confirmed
status: Confirmed → In Progress
Changed in percona-xtradb-cluster:
milestone: 5.5.30-23.7.4 → 5.5.30-24.8
Changed in percona-xtradb-cluster:
milestone: 5.5.31-23.7.5 → 5.5.31-25
Changed in percona-xtradb-cluster:
status: In Progress → Triaged
Changed in percona-xtradb-cluster:
milestone: 5.5.33-23.7.6 → future-5.5
Changed in percona-xtradb-cluster:
milestone: future-5.5 → 5.5.34-23.7.6

There are issues with readline in upstream Percona Server as well (which were not fixed in earlier issues), adding that as well.

summary: - binary build mysql linked against libtinfo.so.5 instead of
- libncurses.so.5
+ Issues with readline and ncurses

The issues are as follows:

a) Not only the binary builds (centos 6, on which PXC is, PS binary builds are on centos5, hence are not), but the mysql client binaries in RPM and DEB are also linked with libtinfo (which is deprecated). However, libreadline on these platforms link against libtinfo anyways (or libncurses does) so this should be fine.

b) mysql client binary is also not linked to libncursesw, hence
multi-byte capability may be broken.

c) The reason centos6 builds are affected is that, symbol `tputs` (the one
checked in readline.cmake) is not provided by libncurses but by
libtinfo (which libncurses also links against).

=================================================================

So, for distro builds, it should be fine except multi-byte may not work
(which I will file separate bug against).

As far as binary builds are concerned, building against
system readline-static (not builtin) should do.

no longer affects: percona-server

Removed PS since I will separate bug for multi-byte.

Looks like multi-byte is provided elsewhere, so this shouldn't be
an issue.

Filed a related bug:
https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1245817

Due to certain issues, libtinfo is stil linked into mysql even if built with libreadline.

Regarding libtinfo itself, even if it is deprecated, it is linked into most of the libraries, not to mention libncurses and libreadline themselves. So, you should report this part of the bug upstream (by upstream I mean to centos/rhel/deb/ubuntu).

As far as fixing this goes, I will make PXC build on centos5 itself like PS, so this should be fixed.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers