System libraries should be preferred to bundled ones

Bug #1108016 reported by Raghavendra D Prabhu
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.1
Won't Fix
Medium
Tomislav Plavcic
5.5
Fix Released
Medium
Tomislav Plavcic
5.6
Fix Released
Medium
Tomislav Plavcic
5.7
Fix Released
Medium
Tomislav Plavcic
Percona XtraBackup moved to https://jira.percona.com/projects/PXB
Fix Released
High
Tomislav Plavcic
2.1
Won't Fix
Undecided
Unassigned
2.2
Fix Released
High
Tomislav Plavcic

Bug Description

This is related to lp:1104977, it is much preferable to use
system libraries than the bundled ones in Percona Server, since
the bundled ones may bitrot if not continually maintained with
upstream.

This applies to following: (there may be more)

1) YaSSL - as per lp:1104977, it can be replaced with openssl.

2) Zlib - use a system zlib, requires DWITH_ZLIB=system.

3) Readline - instead of builtin readline, requires -DWITH_READLINE=OFF -DWITH_LIBEDIT=OFF

Readline is preferred to libedit, however, license issues may
need to be checked (libedit is BSD licensed).

Tags: pkg

Related branches

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

The Zlib bundled (and used by PS) is, as per, zlib/ in source tree, was
last updated upstream (mysql upstream) for version 1.2.3 (July 2005),
the latest zlib upstream one being 1.2.7 (May 2012).

Similarly, the readline bundled is 5.2 whereas the latest
readline upstream version is 6.2

Revision history for this message
Valerii Kravchuk (valerii-kravchuk) wrote :
Download full text (3.5 KiB)

This is what I see with recent PS .tar.gz binaries:

[openxs@chief Percona-Server-5.6.10-alpha60.2-324.Linux.x86_64]$ find / -name 'beach*' 2>/dev/null
[openxs@chief Percona-Server-5.6.10-alpha60.2-324.Linux.x86_64]$ ldd bin/mysqld
        linux-vdso.so.1 => (0x00007fff435ff000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ffac00000)
        libaio.so.1 => /lib64/libaio.so.1 (0x00000035b9000000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003ffb400000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003007000000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003ffb000000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003006000000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003ffb800000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003ffc000000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003ffa800000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ffa400000)
        libfreebl3.so => /lib64/libfreebl3.so (0x0000003006400000)
[openxs@chief Percona-Server-5.6.10-alpha60.2-324.Linux.x86_64]$ cd ../Percona-Server-5.5.30-rel30.2-500.Linux.x86_64
[openxs@chief Percona-Server-5.5.30-rel30.2-500.Linux.x86_64]$ ldd bin/mysqld
        linux-vdso.so.1 => (0x00007fff7f7ff000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ffac00000)
        libaio.so.1 => /lib64/libaio.so.1 (0x00000035b9000000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003ffb800000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003ffb400000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003007000000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003ffb000000)
        libssl.so.6 => /usr/lib64/libssl.so.6 (0x00000037ba000000)
        libcrypto.so.6 => /usr/lib64/libcrypto.so.6 (0x00000037be400000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003ffa800000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003ffa400000)
        libfreebl3.so => /lib64/libfreebl3.so (0x0000003006400000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00000037b9000000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00000037b9400000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003006800000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00000037b9c00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003ffbc00000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00000037b9800000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003008000000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003ffcc00000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003ffc400000)
[openxs@chief Percona-Server-5.5.30-rel30.2-500.Linux.x86_64]$ cd ../Percona-Server-5.1.68-rel14.6-551.Linux.x86_64
[openxs@chief Percona-Server-5.1.68-rel14.6-551.Linux.x86_64]$ ldd libexec/mysqld
        linux-vdso.so.1 => (0x00007ffff6d74000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ffac00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003ffbc00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003ffb000000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003ffb400000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003007000000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x000...

Read more...

tags: added: pkg
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

See bug 1266386 for the readline bits.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

Adding Xtrabackup here since corresponding changes will be required in cmake
(xtrabackup_release configuration) as well.

Revision history for this message
Sergei Glushchenko (sergei.glushchenko) wrote :

Both xtrabackup 2.1 and 2.2 built with bundled zlib which makes them incompatible with MySQL versions built with different zlib.

build.sh in 2.1:
 configure_cmd="cmake . \
  -DENABLED_LOCAL_INFILE=ON \
  -DWITH_INNOBASE_STORAGE_ENGINE=ON \
  -DWITH_PARTITION_STORAGE_ENGINE=ON \
  -DWITH_ZLIB=bundled \
  -DWITH_EXTRA_CHARSETS=all \
  -DENABLE_DTRACE=OFF $extra_config_55plus"

xtrabackup_release.cmake in 2.2:
SET(WITH_ZLIB bundled)

it is possible to over ride setting for 2.2 and is not possible for 2.1

Revision history for this message
Tomislav Plavcic (tplavcic) wrote :
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXB-352

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1306

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.