ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

configure: error: mod_so has been requested but cannot be built on your system 解决办法

2019-07-22 17:07:48  阅读:306  来源: 互联网

标签:requested configure APR system DSO cannot so mod


configure: error: mod_so has been requested but cannot be built on your system

openwrt 交叉编译 apache ,
configure 添加 --enable-so 选项后报错信息如下:

configure: error: mod_so has been requested but cannot be built on your system

原因分析 :
在编译目录查找打印上面错误的位置,grep “mod_so has been requested but cannot be built on your system” configure -n

httpd-2.4.28# grep "mod_so has been requested but cannot be built on your system" configure -n
13655:            as_fn_error $? "mod_so has been requested but cannot be built on your system" "$LINENO" 5

在 configure 文件的 第 13655 行:查看其上下文:

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

#include <apr.h>
#if APR_HAS_DSO
YES_IS_DEFINED
#endif

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "YES_IS_DEFINED" >/dev/null 2>&1; then :
  ac_cv_define_APR_HAS_DSO=yes
else
  ac_cv_define_APR_HAS_DSO=no
fi
rm -f conftest*

CPPFLAGS=$apr_old_cppflags


case "x$enable_so" in
    "xyes")
        if test $ac_cv_define_APR_HAS_DSO = "no"; then
            as_fn_error $? "mod_so has been requested but cannot be built on your system" "$LINENO" 5
        fi
        ;;

可知 configure 脚本检查了 APR_HAS_DSO 宏定义,没有定义APR_HAS_DSO 时就会报以上错误,
APR_HAS_DSO 位于 apr.h 中,来自 libapr 。

检查 libapr 的 编译选项: 位于 openwrt\feeds\packages\libs\apr\Makefile

 CONFIGURE_ARGS += \
        --with-devrandom=/dev/urandom \
        --disable-dso \
        $(call autoconf_bool,CONFIG_IPV6,ipv6)

openwrt 编译 libapr 时 开启了 --disable-dso 导致 APR_HAS_DSO 宏未定义

解决办法:
修改 openwrt\feeds\packages\libs\apr\Makefile , 把 --disable-dso 选项去掉

 CONFIGURE_ARGS += \
        --with-devrandom=/dev/urandom \       
        $(call autoconf_bool,CONFIG_IPV6,ipv6)

从新编译libapr 后再编译 apache

标签:requested,configure,APR,system,DSO,cannot,so,mod
来源: https://blog.csdn.net/agave7/article/details/96869720

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有