Я использую ubuntu 13.10 x64, и я пытаюсь построить php 5.3.8, я загрузил исходный код и запустил configure:
./configure --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-tidy --with-config-file-path=/usr/local/php/conf --with-config-file-scan-dir=/usr/local/php/conf.d --enable-debug --with-openssl --with-kerberos --with-zlib --enable-calendar --with-curl --with-curlwrappers --with-enchant --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-vpx-dir=/usr --with-freetype-dir=/usr --with-t1lib --enable-exif --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-intl --enable-mbstring --with-mcrypt --with-mysql --with-mysqli --enable-pcntl --with-pdo-mysql --with-pdo-pgsql --with-pgsql --with-pspell --with-libedit --with-readline --enable-shmop --with-snmp --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvshm --with-xsl --enable-zip --with-pear --enable-zend-signals --enable-maintainer-zts
И я получил эту ошибку: configure: error: Unable to locate gmp.h
Я установил libgmp-dev
и libgmp3-dev
используя sudo apt-get install libgmp-dev libgmp3-dev
но все равно не могу успешно выполнить настройку, как я могу исправить эту проблему?
если я запустил locate gmp.h
я вижу это здесь:
/usr/include/linux/igmp.h /usr/include/netinet/igmp.h /usr/include/x86_64-linux-gnu/gmp.h /usr/src/linux-headers-3.11.0-12/include/linux/igmp.h /usr/src/linux-headers-3.11.0-12/include/uapi/linux/igmp.h /usr/src/linux-headers-3.11.0-12-generic/include/linux/igmp.h /usr/src/linux-headers-3.11.0-13/include/linux/igmp.h /usr/src/linux-headers-3.11.0-13/include/uapi/linux/igmp.h /usr/src/linux-headers-3.11.0-13-generic/include/linux/igmp.h
Благодаря!
У вас есть gmp.h в любом месте системы? Если он установлен в нестандартном местоположении (или стандартное местоположение изменилось с момента выпуска php 5.3.8), GCC может искать его по неправильному пути.
Моим советом было бы найти gmp.h, и если это не в usr / include / gmp.h, попробуйте символически привязать его.
В ответ на ваш комментарий (а так как синтаксис комментариев слишком высок).
попробуйте символизировать его
ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
если это не удается, посмотрите, можете ли вы скомпилировать, включая параметр
--with-gmp=/usr/include/x86_64-linux-gnu
взгляните на документацию gcc. Он имеет небольшой раздел о gmp-пути.
Это ошибка. Я сообщил об этом – https://bugs.php.net/bug.php?id=69993 – и предоставил исправление, чтобы исправить его.