如何覆盖pecl安装包的默认配置选项。

我目前遇到安装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

查看了tarball后,配置脚本将接受“--with-lua”覆盖以传递已知位置的lua头文件。然而,使用pecl安装程序如何传递该信息完全不明显。

原文链接 https://stackoverflow.com/questions/10178621

点赞
stackoverflow用户221509
stackoverflow用户221509

据我所知,每个 configure 脚本都允许你传递自定义的 CFLAGSLDFLAGS。这使你可以执行以下操作:

CFLAGS="-I/path/to/lua/include" LDFLAGS="-L/path/to/lua/lib" ./configure

如果源代码是 C++,请使用 CXXFLAGS

2012-04-16 17:35:24
stackoverflow用户17507
stackoverflow用户17507

好像包里有损坏的配置魔法。最终,我不得不硬编码几个路径:

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

这足以让编译器顺利通过。

2012-04-17 09:59:19
stackoverflow用户950503
stackoverflow用户950503

我在 ubuntu:17.10 上用 lua5.3php7.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
2017-11-05 10:21:06