我正在从源代码编译php7并在/home/mybin
中预编译了许多依赖项,例如我在
/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
答案 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
,一切都很好。