首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序试图使用错误的共享库

应用程序试图使用错误的共享库
EN

Ask Ubuntu用户
提问于 2012-10-10 21:14:27
回答 1查看 3.3K关注 0票数 0

我在我的ubuntu机器上运行一个程序(quartus)有问题。我得到了以下错误。

代码语言:javascript
复制
quartus: symbol lookup error: /usr/lib/i386-linux-gnu/libXi.so: undefined symbol: XESetWireToEventCookie

我有正确的libXi.so.6.0.0文件,但是不管我把它放在哪里,除非我apt-get remove libxi-dev,否则OS不会使用它,但是很多软件都使用这个libXi。我想要做的是在动态链接器中添加某种异常,这样quartus就可以使用它所需要的libXi.so,而其他所有东西仍然使用/usr/lib/i386-linux-gnu中的.so。

谢谢!

EN

回答 1

Ask Ubuntu用户

发布于 2012-10-11 16:06:30

您应该能够创建一个shell脚本包装器,作为详细的在本文中,并使用LD_LIBRARY_PATH技巧,这样您就可以启动程序并确保它是使用不同共享库的唯一程序。不要将其放入您的.bashrc中,因为您只希望它临时设置环境变量。使用这个shell脚本包装器启动您的程序可能是处理与冲突的共享库相关的这类问题的最简单方法。

代码语言:javascript
复制
#!/bin/bash
export LD_LIBRARY_PATH="/path/to/lib/:$LD_LIBRARY_PATH"
/path/to/my/program

脚本的第二行设置库,最后一行启动程序。

正如前面提到的这里,您可以首先在终端中运行上面的export行,然后运行

代码语言:javascript
复制
ldd /path/to/my/program 

以检查它是否正在加载正确的库。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/198697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档