我想从源代码编译PHP并安装它与apache2一起工作。 我遵循这个tutotial 。 当我尝试./configure --prefix=/usr/local/apache --enable-so ,我得到:
configuration错误 – apr未findapr-util未find..
我安装了这两个我开始得到一个新的错误:
configuration:错误:pcre-config找不到libpcre。
这是什么解决scheme? 有没有一个更好的和简单的方法从源代码构buildPHP?
您可以使用一个技巧来帮助您在基于debian的系统上从源代码构build软件包,即查看官方软件包的源代码包页面。 对于清晰的php5看到这个页面( http://packages.ubuntu.com/source/lucid/php5 )。 在该页面上向下滚动时,可以看到官方软件包的所有构build依赖项列表。 要自己构build包,您可能需要在该列表中安装所有东西,然后才能使用类似的一组configuration选项来编译源代码。 如果因为要禁用某些function而重新编译,则可能会跳过列表中的某些内容。
这是Build-Depends的官方软件包。 这可能会告诉你究竟是什么。 这是从这个文件http://archive.ubuntu.com/ubuntu/pool/main/p/php5/php5_5.3.2-1ubuntu4.dsc
Build-Depends: apache2-prefork-dev, autoconf (>=2.63), automake (>=1.11) | automake1.11, bison, chrpath, debhelper (>=5), flex, freetds-dev, hardening-wrapper, libapr1-dev (>=1.2.7-8), libbz2-dev, libcurl4-openssl-dev, libdb-dev (>=4.7) | libdb4.8-dev | libdb4.6-dev, libenchant-dev, libexpat1-dev (>=1.95.2-2.1), libfreetype6-dev, libgcrypt11-dev, libgd2-xpm-dev, libglib2.0-dev, libgmp3-dev, libicu-dev, libjpeg-dev | libjpeg62-dev, libkrb5-dev, libldap2-dev, libmhash-dev (>=0.8.8), libmysqlclient-dev, libpam0g-dev, libpcre3-dev (>=6.6), libpng12-dev, libpq-dev, libpspell-dev, librecode-dev, libsasl2-dev, libsnmp-dev, libsqlite0-dev, libsqlite3-dev, libssl-dev, libt1-dev, libtidy-dev, libtool (>=2.2), libwrap0-dev, libxmltok1-dev, libxml2-dev, libxslt1-dev (>=1.0.18), netbase, quilt, re2c, unixodbc-dev, zlib1g-dev, libedit-dev, tzdata
如果您只是启用某个特定的选项,那么只需抓取发行版的软件包源代码并调整规则/控制文件并重新生成软件包就可以了。 如果你需要一个更新的版本,你可能会检查是否有新版本在不稳定的分支中,并尝试将其移植。
您需要安装适当的库,有时还需要安装它们的包含文件和链接库。
试试这个(这是Debian lenny,但也可能适用于你):
sudo aptitude install libpcre3 libapr1 libaprutil1
(在这种情况下,显然-dev版本不是必需的;我没有将它们安装在从源代码构buildPHP的机器上)
那么,问题是什么? 安装Apache-Portable-Runtime(apr)及其util文件。 另外pcre-devel或pcre-dev包。 再次编译…看看你是否缺less其他东西。
通过安装缺less的东西让编译器很开心。
-N