由于以下配置失败,我当前在安装 PECL LUA 软件包时遇到问题:
pecl install channel://pecl.php.net/lua-0.9.4
给
...
checking for lua support... yes, shared
checking for lua in default path... not found
configure: error: Please reinstall the lua distribution - lua.h should be in <lua- dir>/include/
ERROR: `/tmp/pear/temp/lua/configure' failed
查看压缩包后,配置脚本似乎将接受"--with-lua"覆盖以传递lua标头的已知位置。但是,如何使用 pecl 安装程序将此信息传递下来是完全不明显的。
好吧,
软件包中似乎有损坏的配置魔法。最后,我不得不硬连线几条路径:
ln -s /usr/include/lua /usr/include/lua5.1
ln -s /usr/lib/liblua5.1.a liblua.a
ln -s /usr/include/lua/* /usr/include
足以让编译器通过。
我在 ubuntu:17.10 上用 lua5.3 和 php7.1 解决了类似的问题
pecl download lua
tar xvzf lua-2.0.4.tgz
cd lua-2.0.4
phpize
./configure --with-lua-version=5.3
make
make install
AFAIK,每个configure
脚本都允许您传递自定义CFLAGS
和LDFLAGS
。这允许您执行以下操作:
CFLAGS="-I/path/to/lua/include" LDFLAGS="-L/path/to/lua/lib" ./configure
如果源C++,请使用CXXFLAGS
。