免费注册 查看新帖 |

Chinaunix

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

arm-Linux-gcc编译出现:cannot find -ldb [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-07 10:14 |只看该作者 |倒序浏览
我用gcc编译可以通过!可是用arm-linux-gcc编译的时候出现:/bin/sh:cannot find -ldb!
有人碰到过同样的问题吗?我的问题好几天了,也没有解决!

论坛徽章:
0
2 [报告]
发表于 2009-09-07 15:55 |只看该作者

回复 #1 liuna418 的帖子

试着猜一下,你的arm工具链的libdb可能是如下形式:libdb-xxx.so,其中xxx是版本信息,所以你试试-ldb-xxx看看!如果还不行看看libdb路径是不是指的不对?修改-L参数看看?

论坛徽章:
0
3 [报告]
发表于 2009-09-07 16:03 |只看该作者

回复 #2 angusto 的帖子

我安装交叉编译工具的库下面没有libdb相关的库文件,我就拷贝了usr/lib/目录下的libdb-4.0到交叉工具目录的库文件下,可是还是这个问题!
好郁闷啊?

论坛徽章:
0
4 [报告]
发表于 2009-09-07 16:19 |只看该作者

回复 #3 liuna418 的帖子

你的/usr/lib/下应该是x86的lib吧,当然不认识了,没有就自己下libdb source编译(用arm工具链)安装到arm工具链下,再编译后面的!或者看看你现在编译的代码能不能配置成不依赖的libdb的!

论坛徽章:
0
5 [报告]
发表于 2009-09-07 16:25 |只看该作者

回复 #4 angusto 的帖子

安装了,并交叉编译了。编译生成了libdb_***.a和db.h文件
放在了交叉编译的库文件系统下,结果还是出现上述问题!


楼上说的不依赖于libdb库,我不太明白,还有或许我安装的路径不对,

还有我想问问,我用gcc可以编译通过,我的 gcc 用的那个那个libdb库是不是/usr/lib下的啊
如果是arm-linux-gcc是不是就依赖于交叉编译器下的库啊?
我是个新手,对这些都不是很明白!
希望楼上不要厌烦!我将感激不尽!
楼上。你的邮箱多少?

论坛徽章:
0
6 [报告]
发表于 2009-09-07 16:54 |只看该作者

回复 #5 liuna418 的帖子

似乎你编译libdb没有生成动态库文件吧,configure时候应该有参数选项支持生成动态库的,你可能没有添加参数,生成动态文件应该是libxxx.so.xx的不是静态的libxxx.a的,-ldb时候应该是没有找到动态库文件吧,在libdb source下执行configure --help看看有没有类似enable shared选项,这个选项就是编译动态库的,编译后安装到arm工具链下。
正常gcc应该是自己找一部分工具链lib文件,其余部分通过-L或默认路径去找的,你的gcc应该找的就是/usr/lib/下的,arm gcc路径要看你工具链路径和-L指定了。你还是了解一下工具链机制吧!

我也过来问问题的,没人回答,顺便过来说说,强人们都躲着呐!

论坛徽章:
0
7 [报告]
发表于 2009-09-08 09:37 |只看该作者

回复 #6 angusto 的帖子

谢谢楼上了!我今天认真学习学习!

论坛徽章:
0
8 [报告]
发表于 2009-09-08 09:54 |只看该作者

回复 #6 angusto 的帖子

原来是用gcc编译是正常的,但是提示/bin/sh:cannot find -ldb
然后我就从网上下载了db-4.7.tar.gz,用arm-Linux-gcc编译后生成了libdb.a文件,经此文件放在交叉工具链的库文件下后,提示出现:
(注:/opt/hisilicon/toolchains/arm-linux-uclibc/linux-soft/bin是我的交叉工具链的地址)
/opt/hisilicon/toolchains/arm-linux-uclibc/linux-soft/lib/libdb.a(mut_pthread.o):in function'_db_pthread_mutex_init'::wq
mut_pthred.c.text+0x5: undefined reference to `pthread_mutexattr_destroy'
mut_pthread.c.text+0xd0): undefined reference to `pthread_mutexattr_init'
mut_pthread.c.text+0x140): undefined reference to `pthread_mutexattr_setpshared'
mut_pthread.c.text+0x190): undefined reference to `pthread_condattr_setpshared'
/opt/hisilicon/toolchains/arm-linux-uclibc/linux-soft/lib/gcc/arm-linux-uclibc/3.4.3/../../../../arm-linux-uclibc/lib/libdb.a(repmgr_posix.o): In function `__repmgr_thread_start':
repmgr_posix.c.text+0x4c): undefined reference to `pthread_attr_setstacksize'
repmgr_posix.c.text+0x80): undefined reference to `pthread_create'
/opt/hisilicon/toolchains/arm-linux-uclibc/linux-soft/lib/gcc/arm-linux-uclibc/3.4.3/../../../../arm-linux-uclibc/lib/libdb.a(repmgr_posix.o): In function `__repmgr_thread_join':
repmgr_posix.c.text+0xa0): undefined reference to `pthread_join'
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP