Bug #36073 [Wfx]: Source-compiled MySQL on x86_64 causes PHP configure failure

2010-10-28 Thread andrey
Edit report at http://bugs.php.net/bug.php?id=36073edit=1

 ID: 36073
 Updated by: and...@php.net
 Reported by:chris at spawnordie dot com
 Summary:Source-compiled MySQL on x86_64 causes PHP configure
 failure
 Status: Wont fix
 Type:   Bug
 Package:MySQL related
 Operating System:   Linux/Any
 PHP Version:5.3.2
 Assigned To:mysql
 Block user comment: N

 New Comment:

Erm, I meant that ext/mysql gets only security fixes.


Previous Comments:

[2010-10-28 09:50:05] and...@php.net

ext/mysql has been deprecated in favor of ext/mysqli. ext/mysqli gets
only security fixes. Either use the workaround or switch to using
mysqlnd.


[2010-06-06 08:10:43] phi...@php.net

Looks like a bug.


[2010-06-06 02:29:11] everyminutepies at yahoo dot ca

I can confirm that this does in fact still happen with PHP 5.3.2 on
CentOS 5.5 86_64 when compiling MySQL 5.0.xx and PHP on a standard
installation. Despite being told by the configuration option
--with-libdir=lib64 to use lib64/ it still chooses to use lib/ and fails
to find the necessary files to continue with the ./configure.







The posted workaround by Chris does work flawlessly. I invite the
reviewer to explain either why the documentation is incorrect about the
function of --with-libdir or why it is not respected in regards to mysql
at his leisure. 



Trustfully, I agree not to become enraged when he suggests I know
nothing about computers and post an enraged rant about him in the year
2014.







./configure  --prefix=/usr/local/secure/php
--with-apxs2=/usr/local/secure/apache2/bin/apxs
--with-mysql=/usr/local/mysql/ --with-libdir=lib64


[2010-03-25 23:16:19] chris at spawnordie dot com

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.


[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.




The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

http://bugs.php.net/bug.php?id=36073


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=36073edit=1


Bug #36073 [Wfx]: Source-compiled MySQL on x86_64 causes PHP configure failure

2010-03-25 Thread chris at spawnordie dot com
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