[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