Patchwork [meta-oe,dylan,18/60] mysql5: prevent using bundled zlib at all costs

login
register
mail settings
Submitter Martin Jansa
Date Aug. 15, 2013, 7:18 a.m.
Message ID <5b6987efeee70f3b8f94f9b991f533e6793bc053.1376551135.git.Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/55751/
State Accepted, archived
Headers show

Comments

Martin Jansa - Aug. 15, 2013, 7:18 a.m.
* in some seldom cases mysql's m4 macro decides that system
  zlib (from DEPENDS) is not worthy and decides to use own
  bundled version which prefers stuff like static libz.a and
  stages libz.la again:
  mysql-5.1.40/config/ac-macros/zlib.m4
  NOTE: recipe mysql5-5.1.40-r11: task do_package_setscene: Started
  NOTE: recipe zlib-1.2.7-r0: task do_packagedata_setscene: Succeeded
  WARNING: The recipe zlib is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
  sysroots/om-gta04/usr/lib/libz.a
  Matched in manifest-om-gta04-mysql5
  Please verify which package should provide the above files.
  NOTE: recipe zlib-1.2.7-r0: task do_populate_sysroot_setscene: Succeeded

* this libz.la + libz.a is breaking many packages which are now trying to
  link shared libs against libz.a from mysql which was built without fPIC
  breaking libxml2, glib-2.0, gnutls, libpng, ...
  | ld: sysroots/om-gta04/usr/lib/libz.a(crc32.o): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
  | sysroots/om-gta04/usr/lib/libz.a: could not read symbols: Bad value
  | collect2: ld returned 1 exit status

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta-oe/recipes-support/mysql/mysql5_5.1.40.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

diff --git a/meta-oe/recipes-support/mysql/mysql5_5.1.40.inc b/meta-oe/recipes-support/mysql/mysql5_5.1.40.inc
index 3d79e19..21bf8b0 100644
--- a/meta-oe/recipes-support/mysql/mysql5_5.1.40.inc
+++ b/meta-oe/recipes-support/mysql/mysql5_5.1.40.inc
@@ -32,7 +32,7 @@  export ac_cv_path_PS="/bin/ps"
 export ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null"
 PARALLEL_MAKE = " "
 EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
-EXTRA_OECONF = " --with-atomic-ops=up --with-embedded-server --prefix=/usr --sysconfdir=/etc/mysql --localstatedir=/var/mysql --disable-dependency-tracking --without-raid --without-debug --with-low-memory --without-query-cache --without-man --without-docs --without-innodb "
+EXTRA_OECONF = " --with-atomic-ops=up --with-embedded-server --prefix=/usr --sysconfdir=/etc/mysql --localstatedir=/var/mysql --disable-dependency-tracking --without-raid --without-debug --with-low-memory --without-query-cache --without-man --without-docs --without-innodb --with-zlib-dir=${STAGING_EXECPREFIXDIR}"
 
 do_configure_append() {
     sed -i /comp_err/d ${S}/sql/share/Makefile