I am currently trying to build an extension for PHP via PECL.
/Applications/MAMP/bin/php/php5.4.39/bin/pecl install memcached
I am using OS X and MAMP, so I got this error.
/Applications/MAMP/bin/php/php5.4.39/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found
Since MAMP is shipping without any header files for PHP, I had to get them manually. So I went to here https://github.com/php/php-src/releases/tag/php-5.4.39 and downloaded the source.
I extracted it to /Applications/MAMP/bin/php/php5.4.39/include/
and renamed the folder php-5php-src-PHP-5.4.39
folder to php
and tried change to the folder /Applications/MAMP/bin/php/php5.4.39/include/php
.
I tried to run the configuration script with ./configure
.
But it was not found.
I only found an configure.ln
, which as I was told was for autoconf. So I ran autoconf
. Autoconf crashed with errors like this:
configure.in:2: error: possibly undefined macro: dnl
I was confused. I found the script ./buildconf
which told me the following:
You should not run buildconf in a release package. use buildconf --force to override this check.
I forced it and there we go: a ./configure
script finally existed.
I checked the php.net site for the same release, because I thought this whole confusion has not been there the last time I did this.
So I downloaded this: http://php.net/get/php-5.4.39.tar.bz2/from/a/mirror
It had the ./configure
script.
Now my question: Why are the relases on php.net and the releases on GitHub different?
And how if not with the ./buildconf
script should I obtain a ./configure
script without using ./buildconf
which should obviously not be used in a release version?
Thanks :)