【问题标题】:Error while loading mod_perl.so加载 mod_perl.so 时出错
【发布时间】:2013-02-11 15:59:52
【问题描述】:

我已经安装了 perl-5.8.9、mod_perl-2.0.7、Emperl-2.3.0 和 httpd-2.2.22。在启动 apache 时,我收到如下错误(为了便于阅读,分成多行):

httpd: Syntax error on line * of ../conf/httpd.conf:
   Cannot load ../Apache2/mod_perl.so into server:
      libperl.so: cannot open shared object file:
         No such file or directory

通过ldd ../Apache2/mod_perl.so,我得到了类似的输出

    linux-gate.so.1 =>  (0x00735000)
    libperl.so => not found
    libnsl.so.1 => /lib/libnsl.so.1 (0x005e5000)
    libdl.so.2 => /lib/libdl.so.2 (0x00fab000)
    libm.so.6 => /lib/libm.so.6 (0x0041f000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x0084d000)
    libutil.so.1 => /lib/libutil.so.1 (0x00110000)
    libc.so.6 => /lib/libc.so.6 (0x00197000)
    /lib/ld-linux.so.2 (0x00163000)

【问题讨论】:

  • 有时可能是权限问题。您能否尝试使用具有提升权限的用户启动服务器(例如,如果您使用管理员用户安装 mod_perl,请尝试使用该用户启动)。
  • 我已将 mod_perl 安装为超级用户 (root),我正在尝试以超级用户身份启动服务器。所以此问题可能不是权限问题。这个问题我用谷歌搜索了很多次,但没有得到任何正确的答案。

标签: perl apache2 mod-perl2


【解决方案1】:

[问题可以转移到Unix & Linux SE。]

您似乎安装了不太兼容的软件包,一个或多个软件包未正确安装,安装说明缺少步骤,动态链接器的默认值不符合预期。

libperl (不出所料)是perl 的一部分。在某些平台上,正常的 perl 默认构建将仅创建 libperl.a 静态库,尽管可以创建动态库 libperl.so 代替,或两者兼而有之。有些人喜欢.so 方法,尽管它可能会产生一些性能开销。

您的问题最可能的原因是:

  1. 已安装的 perl 只有静态 libperl.a,但 mod_perl 是针对带有 libperl.so动态 perl 构建的
  2. perl 软件包安装在 libperl.so 动态链接器看不到的地方

解决原因 #1 意味着找到不同的、兼容的包(或者可能是组合包)。

如果它是#2,您应该能够找到libperl.so(类似于/usr/local/lib/perl5/5.8.9/mach/CORE/),或者只运行ldd /usr/local/bin/perl(无论新的perl 二进制文件安装到哪里)看看它是否知道它在哪里.

在您尝试以下建议的任何更改之前,只需以 root 身份运行 ldconfig,然后重试,以防问题修复。

如果您在新的 perl 安装目录下找到 libperl.so,那么您可以将该文件复制到您的 Apache lib/ 子目录,因为应该构建 Apache(使用 ELF RPATH)将该目录包含在库搜索路径。如果您在 /usr/local/lib 下找到它,那么您应该修改默认链接器配置 (/etc/ld.so.conf) 以包含该目录,然后刷新(以 root 身份运行 ldconfig)。

你的平台显然是 Linux,但你没有说明包的类型和来源,或者它是否是源构建,所以我不能更准确......

我有点怀疑有些东西没有正确安装,因为 Apache 模块的常规位置在 modules/ 子目录中,而不是直接在 ServerRoot 中。

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 2014-06-26
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多