Edit report at http://bugs.php.net/bug.php?id=36073edit=1
ID: 36073
User updated by: chris at spawnordie dot com
Reported by: chris at spawnordie dot com
Summary: Source-compiled MySQL on x86_64 causes PHP configure
failure
Status: Wont fix
Type: Bug
Package: Compile Failure
Operating System: Linux/Any
PHP Version: 5.1.2
New Comment:
Other than the bug reviewer just being a flat-out ass...
It is still a bug in PHP. The PHP configure process honors the
--with-libdir
value for PostgreSQL and many, many other packages, but NOT for its
check of
MySQL. It is NOT a bug in MySQL, which installs its libraries in lib64,
just
like every other application that is compiled for 64bit OS. But PHP
somehow
magically knows how to find all of those other applications. At the
very
least, it is an inconsistency that could have been cleaned up with 15
minutes of
effort by the PHP team when I reported the bug 4 years ago!
And, based on the fact that I provided a work-around, it should have
been clear
that I did, in fact, know what I was doing. Maybe my feelings were a
little
hurt, but there's no excuse for the rudeness this bug reviewer showed.
I
sincerely hope that he/she is no longer in that role -- or doing
anything that
requires using any level of tact with actual people -- because he/she is
just a
jerk and is in serious need of therapy. Maybe he/she didn't get hugged
as a
child and is displaying a superiority complex to cover up low
self-esteem and
fear of being hurt. But I digress.
Previous Comments:
[2010-03-25 18:32:22] michael at michaelsnet dot us
IMHO this is a documentation bug. Consider adding a README.64bit file
containing this information and other relevant information.
[2006-01-18 23:53:50] sni...@php.net
Works fine for me.
Hint: Don't try building Mysql yourself if you don't know how to do it
properly. Use the binary packages provided by MySQL.
And last but not least: report this to MySQL. It's not our fault if they
do things wrong.
[2006-01-18 22:14:10] chris at spawnordie dot com
Description:
Please accept my apologies if this is already reported - I searched and
didn't find it.
When configuring PHP for x86_64, it is necessary to use:
--with-libdir=lib64
When you compile MySQL from source, it does not place its files in
lib64, but rather lib.
MySQL was configured using:
--prefix=/usr/local/mysql
Configuring PHP using:
--with-mysql=/usr/local/mysql
fails with this:
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find libmysqlclient under /usr/local/mysql.
Note that the MySQL client library is not bundled anymore!
This fixes the problem:
cd /usr/local/mysql
ln -s lib lib64
When PHP is configured using --with-mysql=mysql_dir and
--with-libdir=lib_dir, it should search mysql_dir/lib_dir and then
mysql_dir/lib
Reproduce code:
---
./configure --with-mysql=path/to/mysql when MySQL is compiled from
source code
Expected result:
successful configure
Actual result:
--
configure fails with:
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find libmysqlclient under /usr/local/mysql.
Note that the MySQL client library is not bundled anymore!
--
Edit this bug report at http://bugs.php.net/bug.php?id=36073edit=1