3

On Linux, I installed php 5.3.8 from source. Using phpize for installing an extension works fine but not on one specific extension (mysqlnd).

# cd /opt/php/5.3.8/ext/pdo && /opt/php/5.3.8/bin/phpize
... this runs ok
# cd /opt/php/5.3.8/ext/mysqlnd && /opt/php/5.3.8/bin/phpize
Cannot find config.m4. 
Make sure that you run '/opt/php/5.3.8/bin/phpize' in the top level source directory of the module`

As you can see error can not be that I am not on top level source directory since I am. I tried to call phpize from ext folder - did not work either! For info I have m4 installed

Any idea? Thanks :)

1

2 Answers 2

1

The issue is that mysqlnd's m4 file is not config.m4 but config9.m4. This is a dependency mechanism, to ensure buildconf puts it at the end of configure. One might argue that phpize should know about this, currently it doesn't.

A work-around is to rename config9.m4 to config.m4, but mind that a "normal" build won't work then.

Note also that PHP 5.3.8 doesn't allow mysqlnd to be built shared, so above work-around won't work. This will be allowed in PHP 5.3.9, though. This still not solve the config.m4 vs. config9.m4 issue, but for PHP you will be able to do --enable-mysqlnd=shared to receive mysqlnd.so as part of the main PHP build.

0

Try to run phpize from mysql folder

You can check the same post here : http://kmaiti.blogspot.com/2010/08/cannot-find-configm4-phpize-resolved.html

1
  • I hear you well, these kind of errors happen when you run phpize from ext instead than from the extension folder. That's what I do and it does not work :(
    – Francois
    Sep 25, 2011 at 17:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .