免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2660 | 回复: 3
打印 上一主题 下一主题

关于动态库找不到的问题?(已解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-01 15:21 |只看该作者 |倒序浏览
我自己编译(arm-linux)生成的动态库移植到板上。目录为/var/test/lib 里面的文件是libtest.so libtest.so.1 libtest.so.1.0.1  
lrwxrwxrwx    1 root     0              15 Jan  1 00:01 libtest.so -> libtest.so.1.0.1
lrwxrwxrwx    1 root     0              19 Jan  1 00:05 libtest.so.1 -> libtest.so.1.0.1
-rw-r--r--    1 root     0          111014 Feb 28  2007 libtest.so.1.0.1
而且修改了/etc/ld.so.conf文件,加入了如下路径
/var/test/lib

依赖该库编译生成一个测试程序testlib,并将其放入开机后自动执行的脚本中。
板子上电后执行该程序时说找不到动态库libtest.so.1,提示如下:
./testlib: error while loading shared libraries: libtest.so.1: cannot open shared object file: No such file or directory

奇怪的是我telent到板子上,手动执行./testlib就没有问题。

我想知道为什么会出现这样不同的结果??

[ 本帖最后由 gomo1234 于 2007-3-2 09:24 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-03-01 20:17 |只看该作者
设置 LD_LIBRARY_PATH 环境变量?

论坛徽章:
0
3 [报告]
发表于 2007-03-01 20:29 |只看该作者
ldconfig -v

论坛徽章:
0
4 [报告]
发表于 2007-03-02 09:20 |只看该作者
裁减的系统里面没有ldconfig这个命令;
问题还是解决了。
因为我的/var/test/lib目录是mount上去的yaffs文件系统,实际上我已经在/etc/profile里设置过环境变量了
LD_LIBRARY_PATH=/lib:/usr/lib:/var/test/lib
export LD_LIBRARY_PATH

而我在执行testlib程序的脚本里重新设置一下环境变量然后再运行测试程序就可以
LD_LIBRARY_PATH=/lib:/usr/lib:/var/test/lib
export LD_LIBRARY_PATH
./testlib

所以怀疑系统profile设置环境变量是在我设定的mount设备之前运行的,没有真正的把/var/test/lib这个路径设置进动态库搜索路径里面。
多谢两位。

[ 本帖最后由 gomo1234 于 2007-3-2 09:26 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP