Bug #79778 | MySQL Community Server package for Solaris 10 x86/amd64 broken | ||
---|---|---|---|
Submitted: | 25 Dec 2015 20:09 | Modified: | 16 Jan 2016 14:40 |
Reporter: | Dennis Clarke | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Packaging | Severity: | S2 (Serious) |
Version: | 5.6.27 | OS: | Solaris (Oracle Solaris 10 1/13 s10x_u11wos_24a X86) |
Assigned to: | CPU Architecture: | Any | |
Tags: | RPATH, RUNPATH |
[25 Dec 2015 20:09]
Dennis Clarke
[27 Dec 2015 0:13]
Dennis Clarke
The problem runs deeper. It seems as if this RPATH and RUNPATH issue has been around a while however someone now brought in the libstlport dependency which did not exist before. On a sparc server with a previous release of MySQL I see this : dev-db_$ pkginfo -l mysql PKGINST: mysql NAME: MySQL Community Server (GPL) CATEGORY: application ARCH: sparc VERSION: 5.5.46 BASEDIR: /opt/mysql VENDOR: Oracle Corporation PSTAMP: MySQL Release Engineering INSTDATE: Nov 19 2015 14:21 EMAIL: mysql-build@oss.oracle.com STATUS: completely installed FILES: 6742 installed pathnames 150 directories 105 executables 3015691 blocks used (approx) dev-db_$ ls -lap /opt/mysql/mysql/lib/libmysqlclient* -rw-r--r-- 1 root bin 24352368 Sep 18 16:09 /opt/mysql/mysql/lib/libmysqlclient.a lrwxrwxrwx 1 root root 41 Nov 19 14:21 /opt/mysql/mysql/lib/libmysqlclient.so -> /opt/mysql/mysql/lib/libmysqlclient.so.18* lrwxrwxrwx 1 root root 45 Nov 19 14:21 /opt/mysql/mysql/lib/libmysqlclient.so.18 -> /opt/mysql/mysql/lib/libmysqlclient.so.18.0.0* -rwxr-xr-x 1 root bin 12851856 Sep 18 16:09 /opt/mysql/mysql/lib/libmysqlclient.so.18.0.0 lrwxrwxrwx 1 root root 37 Nov 19 14:21 /opt/mysql/mysql/lib/libmysqlclient_r.a -> /opt/mysql/mysql/lib/libmysqlclient.a lrwxrwxrwx 1 root root 38 Nov 19 14:21 /opt/mysql/mysql/lib/libmysqlclient_r.so -> /opt/mysql/mysql/lib/libmysqlclient.so* lrwxrwxrwx 1 root root 41 Nov 19 14:21 /opt/mysql/mysql/lib/libmysqlclient_r.so.18 -> /opt/mysql/mysql/lib/libmysqlclient.so.18* lrwxrwxrwx 1 root root 45 Nov 19 14:21 /opt/mysql/mysql/lib/libmysqlclient_r.so.18.0.0 -> /opt/mysql/mysql/lib/libmysqlclient.so.18.0.0* dev-db_$ elfdump -devl /opt/mysql/mysql/lib/libmysqlclient.so.18.0.0 ELF Header ei_magic: { 0x7f, E, L, F } ei_class: ELFCLASS64 ei_data: ELFDATA2MSB ei_osabi: ELFOSABI_NONE ei_abiversion: 0 e_machine: EM_SPARCV9 e_version: EV_CURRENT e_type: ET_DYN e_flags: [ EF_SPARCV9_TSO ] e_entry: 0 e_ehsize: 64 e_shstrndx: 38 e_shoff: 0xc410d0 e_shentsize: 64 e_shnum: 39 e_phoff: 0x40 e_phentsize: 56 e_phnum: 3 Version Needed Section: .SUNW_version file version libthread.so.1 SUNW_1.4 libm.so.2 SUNW_1.1 libsocket.so.1 SUNW_1.4 Dynamic Section: .dynamic index tag value [0] NEEDED 0x32aba libthread.so.1 [1] NEEDED 0x32af4 libnsl.so.1 [2] NEEDED 0x32ad2 libm.so.2 [3] NEEDED 0x32b00 librt.so.1 [4] NEEDED 0x32ae5 libsocket.so.1 [5] INIT 0x1b5218 [6] FINI 0x1b5358 [7] SONAME 0x32b0b libmysqlclient.so.18 [8] RUNPATH 0x32b20 /opt/studio12u2/lib/sparc/64:/opt/studio12u2/lib/v9 [9] RPATH 0x32b20 /opt/studio12u2/lib/sparc/64:/opt/studio12u2/lib/v9 [10] HASH 0xe8 [11] STRTAB 0x2a5f8 [12] STRSZ 0x32b54 [13] SYMTAB 0xaa38 [14] SYMENT 0x18 [15] CHECKSUM 0x2baa [16] VERNEED 0x5d150 [17] VERNEEDNUM 0x3 [18] PLTRELSZ 0x8268 [19] PLTREL 0x7 [20] JMPREL 0x79998 [21] RELA 0x5d1b0 [22] RELASZ 0x24a50 [23] RELAENT 0x18 [24] REGISTER 0x241 [25] REGISTER 0x253 [26] FEATURE_1 0x1 [ PARINIT ] [27] FLAGS 0 0 [28] FLAGS_1 0x8000 [ DISPLACE-RELOCS-DONE ] [29] PLTGOT 0x2c9d00 [30] NULL 0 So that Studio 12u2 RPATH has been in the build process for a while and was silently ignored because all of the runtime libs needed are found in the default places. The libstlport requirement however, in MySQL 5.6.x and upwards, is a real problem as all downstream software will break that needs libmysqlclient.
[6 Jan 2016 15:47]
Tor Didriksen
Posted by developer: Will this be OK: [8] RUNPATH 0x34eef $ORIGIN/..:$ORIGIN/../lib:/opt/studio12u2/lib/stlport4:/opt/studio12u2/lib/sparc:/opt/studio12u2/lib/stlport4:/opt/studio12u2/lib [9] RPATH 0x34eef $ORIGIN/..:$ORIGIN/../lib:/opt/studio12u2/lib/stlport4:/opt/studio12u2/lib/sparc:/opt/studio12u2/lib/stlport4:/opt/studio12u2/lib
[16 Jan 2016 14:40]
Paul DuBois
Noted in 5.6.29, 5.7.11, 5.8.0 changelogs. Solaris packages failed to note the dependency of the MySQL client library on the libstlport library.