2010-04-01 72 views
1

我是Linux新手,试图让Ajax Push引擎服务器在Ubuntu 9.04上工作。我从源代码安装服务器,它通过使用自己的JavaScript框架来检查它是否失败。需要在Linux上安装共享库的帮助

问题是,它无法加载模块和我在终端上得到的输出,当我启动它时。

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

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

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

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

+0

您是否尝试过使用LD_LIBRARY_PATH变量运行二进制文件? 'LD_LIBRARY_PATH =/usr/local/lib。/ myprogram' – zoli2k 2010-04-01 15:09:25

回答

4

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在这种情况下是需要的。