【问题标题】:cannot find the library `/usr/lib64/libexpat.la' when building httpd-2.4.7 RPM for CentOS 6.5为 CentOS 6.5 构建 httpd-2.4.7 RPM 时找不到库“/usr/lib64/libexpat.la”
【发布时间】:2014-03-14 03:56:27
【问题描述】:

我正在跟进http://httpd.apache.org/docs/2.4/platform/rpm.html的指示 为 CentOS6.5 构建 httpd-2.4.7 RPM。但我收到以下错误 - 找不到库 `/usr/lib64/libexpat.la'。

rpmbuild -tb httpd-2.4.7.ta​​r.bz2

..... /usr/lib64/apr-1/build/libtool --silent --mode=link gcc -std=gnu99 -pthread -O2 -g -pie -o htpasswd htpasswd.lo passwd_common.lo /usr/lib64/libaprutil-1 .la -ldb-4.3 -lexpat -ldb-4.3 /usr/lib64/libapr-1.la -lpthread -ldl -lcrypt
libtool:链接:找不到库/usr/lib64/libexpat.la' or unhandled argument/usr/lib64/libexpat.la'
make[2]: * [htpasswd] 错误 1
make[2]: 离开目录/root/rpmbuild/BUILD/httpd-2.4.7/support'<br> make[1]: *** [all-recursive] Error 1<br> make[1]: Leaving directory/root/rpmbuild/BUILD/httpd-2.4.7/support'
make: *
[all-recursive] 错误 1
错误:来自 /var/tmp/rpm-tmp.iSxbcs (%build)
的错误退出状态 RPM 构建错误: /var/tmp/rpm-tmp.iSxbcs (%build) 的错误退出状态

我运行了yum search libexpat,包已经安装好了。

[root@localhost 下载]# yum search libexpat
加载的插件:fastestmirror、refresh-packagekit、security
从缓存的主机文件加载镜像速度
* 基地:centos.les.net
* 附加内容:mirror.its.sfu.ca
* 更新:mirror.csclub.uwaterloo.ca
======= 匹配:libexpat =========================== compat-expat1.i686 : 用于解析 XML 文档的库
compat-expat1.x86_64 : 用于解析 XML 文档的库
expat.i686 : XML 解析器库
expat.x86_64 : XML 解析器库
expat-devel.i686 : 使用 expat 开发应用程序的库和头文件
expat-devel.x86_64 : 使用 expat 开发应用程序的库和头文件
mingw32-expat.noarch : expat XML 解析器库的 MinGW Windows 端口

任何人都知道如何解决这个问题。提前致谢。

史蒂夫

【问题讨论】:

    标签: apache2 centos6 rpmbuild


    【解决方案1】:

    .la 文件是为了让libtool 知道如何链接库。它可能在expat-devel 中,应该以BuildRequires 的形式添加到.spec 文件中。

    【讨论】:

    • 感谢您的回复。但是如何验证 .spec 文件并解决问题。
    【解决方案2】:

    安装文档声明您可以:

    ./configure --with-included-apr
    

    使用 APR 和 APR-util 库,包括 libexpat.la 并附带 httpd。

    【讨论】:

      【解决方案3】:

      在安装 apache 之前安装 apr 和 apr-util。

      libexpat.la 与 apr-util 的源代码一起提供。

      尝试将apr和apr-util的源码目录复制到apache的srclib目录下,使用./configure --with-included-apr。这解决了我的问题。

      cp -r /path/of/apr /path/of/apache/srclib/
      
      cp -r /path/of/apr-util /path/of/apache/srclib/
      
      ./configure --with-included-apr
      

      【讨论】:

        猜你喜欢
        • 2016-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-05
        • 2015-04-20
        • 1970-01-01
        • 2016-08-18
        • 2014-12-29
        相关资源
        最近更新 更多