Mac – “Failed to configure php55-thesql” with MacPorts and Percona 5.5

macports

I'm getting this error trying to install or update Percona using MacPorts on Max OS X (Mavericks 10.9 in my case)

--->  Configuring php55-mysql
Error: Failed to configure php55-mysql, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_php/php55-mysql/work/php-5.5.15/ext/mysql/config.log
Error: org.macports.configure for port php55-mysql returned: configure failure: command execution failed
Please see the log file for port php55-mysql for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_php/php55-mysql/main.log
Error: Unable to upgrade port: 1
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets

UPDATE (2014-11-11): @Mark asked what was in the main.log. I did not save it originally but I just had the exact same problem on a different machine and here is what was in the main.log file:

[stuff above snipped]

:info:configure checking for the location of libz... /opt/local
:info:configure configure: error: Cannot find libmysqlclient under /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_php/php54-mysql/work/percona.
:info:configure Note that the MySQL client library is not bundled anymore!
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_php/php54-mysql/work/php-5.4.34/ext/mysql" && ./configure --prefix=/opt/local --with-php-config=/opt/local/bin/php-config54 --with-zlib-dir=/opt/local --with-mysql=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_php/php54-mysql/work/percona --with-mysqli=/opt/local/lib/percona/bin/mysql_config --with-pdo-mysql=/opt/local/lib/percona/bin/mysql_config --with-mysql-sock=/opt/local/var/run/percona/mysqld.sock 
:info:configure Exit code: 1
:error:configure Failed to configure php54-mysql, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_php/php54-mysql/work/php-5.4.34/ext/mysql/config.log
:error:configure org.macports.configure for port php54-mysql returned: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
    while executing
"proc-org.macports.configure-configure-0 org.macports.configure"
    ("eval" body line 1)
    invoked from within
"eval $procedure $targetname"
:info:configure Warning: targets not executed for php54-mysql: org.macports.install org.macports.configure org.macports.build org.macports.destroot
:notice:configure Please see the log file for port php54-mysql for details:

Best Answer

This article How to Update a Percona Installation gave me the clue I needed to fix the problem. I'm not going to delve into it here but the gist is that Percona had to rename libmysqlclient to libperconaserverclient. The fix in that article doesn’t apply to OS X/MacPorts but this fixed the issue.

cd /opt/local/lib/percona/mysql
sudo ln -s libperconaserverclient.a libmysqlclient.a
sudo ln -s libperconaserverclient.dylib libmysqlclient.dylib

Then complete your install/update.