查看: 4487|回复: 6

[求助]运行osgversion时出现"osgversion: error while loading shared...

[复制链接]

该用户从未签到

发表于 2008-8-10 10:22:12 | 显示全部楼层 |阅读模式
我下载了最新的osg2.6,运行了./configure、make、sudo make install。
但运行osgversion时出现错误信息"osgversion: error while loading shared libraries: libosg.so.44: cannot open shared object file: No such file or directory"
是不是和我没有删除osg2.2有关啊?
谢谢了。

在这个板块下没有看到其他朋友的求助,大家的安装都很顺利,祝贺大家!

该用户从未签到

发表于 2008-8-10 12:15:09 | 显示全部楼层
支持Linux下的OSG使用者~~

如果直接make install,osg的相关动态库会安装到/usr/local/lib下,您可以看一下里面有没有libosg.so等OSG库。
如果有的话,可以编辑/etc/ld.so.conf,把/usr/local/lib添加到库文件的搜索目录,然后ldconfig;
也可以把这些osg库文件拷贝到/usr/lib下;
当然最好是在configure的时候使用命令参数:configure --prefix=/usr/

该用户从未签到

 楼主| 发表于 2008-8-11 07:45:45 | 显示全部楼层
您好,又要麻烦您了。我把“include /usr/local/lib”加入“/etc/ld.so.conf”,键入“lkconfig -v”,出现:
......
/usr/local/lib:
        libosgShadow.so.44 -> libosgShadow.so.2.6.0
        libosgTerrain.so.44 -> libosgTerrain.so.2.6.0
        libosgUtil.so.44 -> libosgUtil.so.2.6.0
        libosgText.so.44 -> libosgText.so.2.6.0
        libosgDB.so.44 -> libosgDB.so.2.6.0
        libosg.so.25 -> libosg.so.2.2.0
        libosgFX.so.25 -> libosgFX.so.2.2.0
        libOpenThreads.so.9 -> libOpenThreads.so.2.2.0
        libwine.so.1 -> libwine.so.1.0
        libosgDB.so.25 -> libosgDB.so.2.2.0
        libosgTerrain.so.25 -> libosgTerrain.so.2.2.0
        libosgUtil.so.25 -> libosgUtil.so.2.2.0
        libosgShadow.so.25 -> libosgShadow.so.2.2.0
        libOpenThreads.so.11 -> libOpenThreads.so.2.3.0
        libosgSim.so.25 -> libosgSim.so.2.2.0
        libosgParticle.so.25 -> libosgParticle.so.2.2.0
        libosgManipulator.so.25 -> libosgManipulator.so.2.2.0
        libosgWidget.so.44 -> libosgWidget.so.2.6.0
        libosgGA.so.25 -> libosgGA.so.2.2.0
        libosgManipulator.so.44 -> libosgManipulator.so.2.6.0
        libosgViewer.so.25 -> libosgViewer.so.2.2.0
        libosgFX.so.44 -> libosgFX.so.2.6.0
        libosgText.so.25 -> libosgText.so.2.2.0
        libosgViewer.so.44 -> libosgViewer.so.2.6.0
        libosgGA.so.44 -> libosgGA.so.2.6.0
        libosg.so.44 -> libosg.so.2.6.0
        libosgParticle.so.44 -> libosgParticle.so.2.6.0
        libosgSim.so.44 -> libosgSim.so.2.6.0
......
/sbin/ldconfig.real: 不能创建临时缓存文件 /etc/ld.so.cache~: Permission denied

键入“ldconfig /usr/local/lib”,也提示“/sbin/ldconfig.real: 不能创建临时缓存文件 /etc/ld.so.cache~: Permission denied”。

请问,“ld.so.cache~”是什么文件啊?
谢谢您了。

[ 本帖最后由 HelloWorld! 于 2008-8-11 07:48 编辑 ]

该用户从未签到

 楼主| 发表于 2008-8-11 07:55:48 | 显示全部楼层
linux下的共享库机制采用了类似于高速缓存的机制,将库信息保存在/etc/ld.so.cache里边。

程序连接的时候首先从这个文件里边查找,然后再到ld.so.conf的路径里边去详细找。

这就是为什么修改了ld.so.conf要重新运行一下ldconfig的原因。smile.gif

引自:http://bbs.gliet.edu.cn/bbs/index.php?showtopic=105104

该用户从未签到

发表于 2008-8-11 09:10:33 | 显示全部楼层
是不是用户权限不够?用root用户试一下?

该用户从未签到

发表于 2008-8-11 09:21:27 | 显示全部楼层
完全不懂linux,支持一下

该用户从未签到

 楼主| 发表于 2008-8-12 09:26:43 | 显示全部楼层
谢谢了,是权限不够。

我觉得linux把人变懒了,这个时候一般都会有“请用root用户尝试“之类的提示,这次没有提示,就出问题了。
。。。
归根结底,我学得还是不到家。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表