[oe] [meta-oe][PATCH 1/6] mysql5: prevent using bundled zlib at all costs

Martin Jansa martin.jansa at gmail.com
Mon Jul 8 08:41:28 UTC 2013


* 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 at gmail.com>
---
 meta-oe/recipes-support/mysql/mysql5_5.1.40.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 3b3a42d..1a38e9f 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
-- 
1.8.2.1




More information about the Openembedded-devel mailing list