免费注册 查看新帖 |

Chinaunix

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

求助高手,关于samba移植,在无法烧写flash的情况下启动samba [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-10 10:59 |只看该作者 |倒序浏览
10可用积分
如题,我要将samba移植到mipsel-linux上,samba已经编译完成,是动态连接的可执行程序(这里奇怪的是我在configure中一直强调编译为static,且已经指定smbd和nmbd为静态的,但编译结果还是动态连接的)。现在板子上的mipsel-linux是预装的,目前我没办法烧写flash。我将编译好的samba mount到板子上可刷写的分区/tmp和/var。执行smbd的时候出现“smbd: can't load library 'libgcc_s.so.1”,我看了下lib下没有这个库,可以创建一个软连接来连接uclib.so来解决,但/lib是只读的,无法写,我要如何重新定义smbd让它在/tmp中寻找库,不修改代码可以吗??
同样的,另一个问题是smbd启动,还需要smb.conf配置文件,它也是默认在/etc下的,同样的问题,/etc是只读的,要如何解决这些问题???只能修改源代码吗??

论坛徽章:
0
2 [报告]
发表于 2009-09-10 13:44 |只看该作者
smb.conf这个应该不用吧,smbd启动的时候应该有选项可以指定配置文件。

他要连接的gcc_s的库,应该不是uclib吧。

编译的时候static,得看他要连接的库是不是.a了。

论坛徽章:
0
3 [报告]
发表于 2009-09-10 14:39 |只看该作者
上面的高手,再问个问题,我在configure的时候在设置的编译为静态库的选项:
./configure ..... --enable-shared=no --enable-static=yes --with-static-modules=smbd

然后修改Makfile中CFLAGS, LDFLAGS,加上-static

结果,make后bin下的smbd还是动态的........

我的configure操作如下:
#!/bin/sh

export TOOLCHAIN=/usr/local/toolchain_mipsel
export LD_LIBRARY_PATH=$TOOLCHAIN/lib
export CPPFLAGS=-I$TOOLCHAIN/inlcude
export CFLAGS=-I$TOOLCHAIN/include

./configure CC=mipsel-linux-gcc AR=mipsel-linux-ar --host=i686 --target=mipsel-linux --enable-shared=no --enable-static=yes --with-static-modules=smbd

有没有方法让他不到板子上的/lib上去找libgcc_s.so.1这个库,而是到一个指定的目录上找呢,请高手帮忙解答下,还有如何将其编译为静态的程序,谢谢了

论坛徽章:
0
4 [报告]
发表于 2009-09-10 19:56 |只看该作者
问题解决了,通过变量LD_LIBRARY_PATH来指定libgcc_s.so.1这个库的存放目录就行了

评分

参与人数 1可用积分 +30 收起 理由
T-bagwell + 30 我很赞同

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP