php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #7247 MySQL+zlib
Submitted: 2000-10-16 11:16 UTC Modified: 2001-04-10 09:33 UTC
From: ignacio at openservices dot net Assigned:
Status: Closed Package: Apache related
PHP Version: 4.0.4-dev Latest CVS OS: Linux (others?)
Private report: No CVE-ID: None
 [2000-10-16 11:16 UTC] ignacio at openservices dot net
I've noticed some problems about PHP (any version) not loading into Apache with 'undefined symbol: uncompress'. What I have learned (the hard way, with another language) is that the more recent versions of MySQL need zlib to be linked in. What happens is that most people use '--with-zlib' anyways, so they don't see the problem, but for those few, the loading fails. What I propose is that if external libraries are requested for MySQL, then zlib should be checked for in configure and linked in make regardless of whether or not zlib has been chosen as a feature. This will resolve that problem for pretty much 99.99999% of the people.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-12-11 05:38 UTC] stas@php.net
What is your PHP configuration line? What is your Apache
configuration?
 [2000-12-11 11:01 UTC] ignacio at openservices dot net
You misunderstand me. This isn't something that I'm affected by. I've managed to fix this on my installation. What I'm saying is that the configure script should add -lz if an external MySQL library is chosen.
 [2000-12-11 14:20 UTC] ignacio at openservices dot net
Fine, here:

--- php4/ext/mysql/config.m4	Tue Nov 21 06:07:50 2000
+++ php4.lz/ext/mysql/config.m4	Mon Dec 11 13:58:54 2000
@@ -77,9 +77,27 @@
     AC_MSG_ERROR(Cannot find mysqlclient library under $MYSQL_DIR)
   fi
 
+  for i in /usr/local /usr do
+    if test -f $i/include/zlib/zlib.h; then
+      ZLIB_DIR=$i
+      ZLIB_INCDIR=$i/include/zlib
+    elif test -f $i/include/zlib.h; then
+      ZLIB_DIR=$i
+      ZLIB_INCDIR=$i/include
+    fi
+  done
+
+  if test -z "$ZLIB_DIR"; then
+    AC_MSG_ERROR(Cannot find libz)
+  fi
+
   AC_ADD_LIBRARY_WITH_PATH(mysqlclient, $MYSQL_LIB_DIR, MYSQL_SHARED_LIBADD)
 
+  AC_ADD_LIBRARY_WITH_PATH(z, $ZLIB_LIBDIR, ZLIB_SHARED_LIBADD)
+
   AC_ADD_INCLUDE($MYSQL_INC_DIR)
+
+  AC_ADD_INCLUDE($ZLIB_INCDIR)
 else
   MYSQL_MODULE_TYPE="none"
 fi

 [2000-12-28 09:14 UTC] sniper@php.net
Duplicate of #5651

(this patch of yours is not the right way to do this..)

--Jani
 [2001-03-10 14:27 UTC] sniper@php.net
Please try the latest CVS. This should be fixed now.

--Jani

 [2001-04-10 09:33 UTC] sniper@php.net
No feedback. If this happens with soon to be released PHP 4.0.5 too, reopen this bug report.

--Jani

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 06:01:30 2024 UTC