If you try to install PHP 5.3 with FPM on Ubuntu, no matter which installation path you follow, patching sources or downloading FPM from SVN, you will most likely see a lot of error messages similar to the following:
$ ./configure cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found ./configure: 490: 5: Bad file descriptor ./configure: 490: :: checking for pthreads_cflags: not found ./configure: 490: 6: Bad file descriptor ./configure: 490: checking for pthreads_cflags... : not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 490: ac_fn_c_try_run: not found ./configure: 492: 5: Bad file descriptor ./configure: 492: :: result: : not found ./configure: 492: 6: Bad file descriptor ./configure: 492: : Permission denied ./configure: 495: 5: Bad file descriptor ./configure: 495: :: checking for pthreads_lib: not found ./configure: 495: 6: Bad file descriptor ./configure: 495: checking for pthreads_lib... : not found cat: confdefs.h: No such file or directory ./configure: 555: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 555: ac_fn_c_try_run: not found cat: confdefs.h: No such file or directory ./configure: 555: ac_fn_c_try_run: not found ./configure: 557: 5: Bad file descriptor ./configure: 557: :: result: : not found ./configure: 557: 6: Bad file descriptor ./configure: 557: : Permission denied ./configure: 633: 5: Bad file descriptor ./configure: 633: :: result: : not found ./configure: 633: 6: Bad file descriptor ./configure: 633: : Permission denied ./configure: 635: 5: Bad file descriptor ./configure: 635: :: result: Configuring SAPI modules: not found ./configure: 635: 6: Bad file descriptor ./configure: 635: Configuring SAPI modules: not found ./configure: 666: 5: Bad file descriptor
If so, don't be a fool like me, check what buildconf
reported above:
$ ./buildconf --force Forcing buildconf buildconf: checking installation... buildconf: autoconf version 2.64 (ok) buildconf: Your version of autoconf likely contains buggy cache code. Running vcsclean for you. To avoid this, install autoconf-2.13. Can't figure out your VCS, not cleaning.
This is not just a regular warning you can neglect, you have to use autoconf-2.13. You don't have to install it from sources, though. This version is a separate package, so just run sudo aptitude install autoconf-2.13
. You will have also to install libevent-1.4
and libevent-dev
. Now, you can run buildconf
again and then configure
.
The full installation procedure would be:
sudo apt-get install autoconf2.13 wget http://ru.php.net/get/php-5.3.2.tar.bz2/from/ru2.php.net/mirror tar -xjf php-5.3.2.tar.bz2 sudo aptitude install libevent-dev cd php-5.3.2/ svn co http://svn.php.net/repository/php/php-src/trunk/sapi/fpm sapi/fpm ./buildconf --force ./configure --enable-fpm --with-zlib \ --enable-pdo --with-pdo-mysql --enable-sockets \ --with-mysql --with-config-file-path=/etc \ --enable-calendar --with-iconv --enable-exif\ --enable-soap --enable-ftp --enable-wddx \ --with-zlib --with-bz2 --with-gettext \ --with-xmlrpc --enable-pcntl --enable-soap \ --enable-bcmath --enable-mbstring --enable-dba \ --with-openssl --with-mhash --with-mcrypt \ --with-xsl --with-curl --with-pcre-regex --with-gd --enable-gd-native-ttf --with-ldap \ --enable-pdo --with-pdo-mysql --with-mysql \ --with-sqlite --with-pdo-sqlite --enable-zip \ --enable-sqlite-utf8 --with-pear \ --with-freetype-dir=/usr --with-jpeg-dir=/usr \ --with-mysqli --with-fpm-conf=/etc/php/php-fpm.conf \ --with-fpm-pid=/var/run/php-fpm.pid \ --with-config-file-path=/etc/php/ \ --with-config-file-scan-dir=/etc/php/conf.d/
Of course, your php configure options can be different.