【问题标题】:need help with installing shared libraries on linux在 linux 上安装共享库需要帮助
【发布时间】:2010-04-01 14:08:11
【问题描述】:

我是 linux 新手,正在尝试让 Ajax Push 引擎服务器在 Ubuntu 9.04 上运行。我从源代码安装了服务器,它没有通过使用自己的 javascript 框架进行的检查。

问题是它无法加载模块和我在启动时在终端中获得的输出。

[模块] 加载失败 ../modules/lib/libmod_spidermonkey.so [无效库](libmysac.so.0.0:无法打开共享对象文件:否 这样的文件或目录)

我认为我必须将 mysac 库安装为共享库,所以经过一番搜索后,我将 libmysac.so 复制到 /usr/local/lib/ 并在那里运行 ldconfig 时创建了符号链接。但它仍然给出了同样的错误。

现在我将 libmod_spidermonkey.so 复制到共享库目录中。但是这次 ldconfig 没有创建任何符号链接。

我真的很困惑,正在寻找一些指针。请帮忙

【问题讨论】:

  • 您是否尝试过使用 LD_LIBRARY_PATH 变量运行二进制文件? LD_LIBRARY_PATH=/usr/local/lib ./myprogram

标签: linux ubuntu shared-libraries


【解决方案1】:

ldconfig 创建、更新和删除必要的链接和缓存(供运行时链接器 ld.so 使用)到在命令指定的目录中找到的最新共享库行,在文件 /etc/ld.so.conf 和受信任的目录(/usr/lib 和 /lib)中。

您可以尝试ldd libmod_spidermonkey.so 看看它是否找到了它需要的所有共享库。如果上面写着not found,你需要看看为什么。

如果它需要libmysac.so.0.0,您需要在 /etc/ld.so.conf 中提到的目录(或 /etc/ld.so.conf.d/ 中的文件之一)中有一个符号链接或具有此类名称的文件)。将库添加到这些目录后,需要执行ldconfig

另一种解决方案是设置LD_LIBRARY_PATH shell 环境。

export LD_LIBRARY_PATH=/usr/local/lib:/my/dir/with/libs

在这种情况下不需要ldconfig

【讨论】:

    猜你喜欢
    • 2021-04-06
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 2011-08-25
    • 2011-09-19
    • 1970-01-01
    相关资源
    最近更新 更多