【问题标题】:build php5.3.8 on ubuntu , get error: configure: error: Unable to locate gmp.h在 ubuntu 上构建 php5.3.8,得到错误:配置:错误:无法找到 gmp.h
【发布时间】:2013-11-10 19:35:47
【问题描述】:

我使用的是 ubuntu 13.10 x64,我正在尝试构建 php 5.3.8,我下载了源代码并运行了配置:

./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-devlibgmp3-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

谢谢!

【问题讨论】:

    标签: php ubuntu build


    【解决方案1】:

    你在系统的任何地方都有 gmp.h 吗?如果它安装在非标准位置(或自 php 5.3.8 版本以来标准位置已更改),GCC 可能会在错误的路径中查找它。

    我的建议是找到 gmp.h,如果它不在 usr/include/gmp.h 中,请尝试对其进行符号链接。

    响应您的评论(并且由于 cmets 语法高度有限)。

    尝试符号链接

    ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h 
    

    如果失败,看看是否可以编译包含参数

    --with-gmp=/usr/include/x86_64-linux-gnu
    

    查看 gcc 文档。它有一小部分关于 gmp 路径。

    http://gcc.gnu.org/install/configure.html

    【讨论】:

    • 谢谢@amenadiel,我运行locate gmp.h,请在我的问题中查看我的编辑。
    • 尝试符号链接 ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h 如果失败,请参阅如果你可以编译包含参数 --with-gmp= /usr/include/x86_64-linux-gnu
    • 符号链接成功了,--with-gmp 选项对我不起作用
    • 如果文件 /usr/include/x86_64-linux-gnu/gmp.h 不存在,尝试运行“apt-get install libgmp-dev”
    【解决方案2】:

    这是一个错误。我报告了它——https://bugs.php.net/bug.php?id=69993——并提供了一个补丁来修复它。

    【讨论】:

    • 非常感谢您提供此信息,但该补丁似乎无法为我修复它。对头文件进行符号链接。
    • 赞成,谢谢。我没有使用该补丁,但知道它期望 gmp.h 位于 include 文件夹中,这帮助我解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 2018-04-06
    • 2015-10-16
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多