[MacPorts] #22662: php5 +debug breaks multi-extension ports (php5-mssql, php5-mysql, php5-odbc, php5-oracle, php5-postgresql, php5-sqlite) (was: php5-mysql won't connect to mysql - Redux)
MacPorts
noreply at macports.org
Tue Nov 24 02:03:08 PST 2009
#22662: php5 +debug breaks multi-extension ports (php5-mssql, php5-mysql,
php5-odbc, php5-oracle, php5-postgresql, php5-sqlite)
--------------------------------+-------------------------------------------
Reporter: tq@… | Owner: ryandesign@…
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 1.8.1
Keywords: debug | Port: php5-mssql, php5-mysql, php5-odbc, php5-oracle, php5-postgresql, php5-sqlite
--------------------------------+-------------------------------------------
Changes (by ryandesign@…):
* keywords: => debug
* status: new => assigned
* port: php5-mysql => php5-mssql, php5-mysql, php5-odbc, php5-oracle,
php5-postgresql, php5-sqlite
Comment:
Sorry for the trouble. It looks like the short answer is that this occurs
when you use the +debug variant when installing php5. If you reinstall
php5 omitting the +debug variant this time, and then rebuild all your php5
extension ports, the problem should go away.
The longer answer is that of the php5 extension ports you've installed, it
looks like everything but mysql5 and sqlite is loading. I'm guessing not
coincidentally, those are the only ports of the ones you've installed that
install more than one extension. To build just one extension (the
default), the php5extension portgroup runs "phpize", "configure" and
"make" in the extension's directory. But to build more than one extension
(this mode is activated by using "php5extension.use_phpize no" in the
Portfile), it skips running "phpize", runs the global configure script
with certain parameters and runs the global Makefile. I'm guessing that
because we're not running "phpize", it doesn't realize that it should
reconfigure itself for a debug build. Making this work will be more
complicated, because you can't just run "phpize" at the top of the php
source directory; you have to run it in each extension's directory. And I
think those changes will only have an effect if you then run "configure"
and "make" in each extension's directory, as we do for single-extension
ports.
Do you need the debug variant? It was added by Anthony in r52241 and I'd
never used it, so I'd never run into this problem. One simple solution to
the problem would be for me to remove the variant from the Portfile again.
If that's not desirable because it's actually useful, then the more
complicated solution above is needed.
--
Ticket URL: <http://trac.macports.org/ticket/22662#comment:2>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list