linux php 7 configure:错误:请重新安装readline - 我找不到readline.h,但它已安装

时间:2016-03-08 22:22:00

标签: php linux configure php-7

我正在从源代码编译php7并在/home/mybin中预编译了许多依赖项,例如我在

中有openssl
   /home/mybin/bin/openssl
   /home/mybin/include/openssl/*.h

我也读作了

/home/mybin/include/readline/readline.h

使用php编译选项

./configure \
CC=/home/mybin/bin/gcc \
--prefix=/home/_cgi/php7 \
--bindir=/home/mybin/bin \
--libdir=/home/mybin/lib \
--with-libdir=/home/mybin/lib64 \
--includedir=/home/mybin/include \
--include-openssl \

我为readline尝试了以下选项

--with-readline=/home/mybin/include/readline
OR 
--with-readline=/home/mybin/
OR
--with-readline

所有变体以configure: error: Please reinstall readline - I cannot find readline.h

结尾

从源和/home/mybin构建的所有其他依赖项都没有问题。你能建议我设置哪个标志,以便找到readline.h吗?

thx Art

3 个答案:

答案 0 :(得分:1)

请参阅http://stackoverflow.com/questions/35891777/linux-correct-flag-to-pass-gcc-mcrypt-h-location以获取有关如何解决此问题的详细说明,因为两者都是相关的

答案 1 :(得分:1)

对于readline,您需要安装

sudo apt install -y libedit-dev libreadline-dev

答案 2 :(得分:1)

首先在 Debian-9 上,我使用

安装了libreadline-dev软件包

apt-get install libreadline-dev

,然后在使用命令

搜索readline.h的路径时

dpkg -S readline.h

它给了我下面的输出:

nodejs: /usr/share/doc/nodejs/api/readline.html libreadline-dev:amd64: /usr/include/readline/readline.h

因此该文件位于/usr目录中

最后,我使用php配置了--with-readline=/usr,一切都很好。