注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

windfly's sky

the sky I can fly like the wind

 
 
 

日志

 
 

树莓派2安装Xware实现迅雷远程下载  

2016-08-14 12:14:05|  分类: RPI |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我的树莓派2用的系统时kali,其他的应该类似
1.安装xware
到http://g.xunlei.com/forum.php?mod=viewthread&tid=12209 下载合适的包
我用的时Xware1.0.30_armel_v5te_glibc.zip
这里涉及到了用哪个版本的问题
首先#uname -a查到时armv7,还有个用l还是b(大端小端)的问题,随便找个可执行程序
输入#elfread 程序名
看时LSB还算MSB,如果时LSB就用l,如是MSB用b。
 
解压后拷到机器上,
启动portal
#./portal
我在这里遇到了错误,提示
bash:  portal: no such file or directory
可是明明存在这个文件啊。后来发现,原来时所需的依赖库不对导致的。
参考http://blog.csdn.net/dlutxie/article/details/8645051
修改之后好了。详细阅读参考。

但是一直提示无法获取激活码。
暂时放弃
2.再次用的时候,居然能获得了,可能时激活码的网络不太稳定。
3.到迅雷远程的网页,绑定设备。
4.插入u盘,用图形界面打开一下,挂载在media下,这里有个坑,只能识别4G以上的U盘
5.在迅雷远程新建人物,开始的时候不提示,也不见有任务,再新建,提示任务重复。
又过了一段时间,刷新,任务居然出来了。
这样就能用了。


附录:

bash: ***: No such file or directory

转自http://blog.csdn.net/dlutxie/article/details/8645051

最近在移植opencv2.0的时候遇到该问题,工作环境如下:

宿主机:ubuntu9.04 kernel 2.6.28  arm-none-linux-4.3.2

开发板:OMAP4 ubuntu12.04 桌面版 gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)


当把在宿主机编译好的程序移植到另一个开发板(ubuntu core, kernel 3.0)时能正常运行,但把所有编译的库和程移植到新的开发板时,出现上述问题。

注意:如下命令都是在开发板的系统上执行的!可能有些开发板所安装的系统无如下一些命令,可以通过apt-get install binutils 安装试试

执行程序命令: ./test   出现错误:

bash:  test : No such file or directory 

确定执行的命令没有错,路径没有问题,另外通过 ls  -l  查看,权限足够。

执行: ldd  test  返回:not a dynamic executable

执行:file test  返回如下:

test: ELF 32-bit   LSB  executable, ARM, version 1 (SYSV), dynamically linked (use shared libs), for  GNU/Linux 2.6.14,  not stripped

我所装的是32的系统而不是64位的,所以不是64位的系统没有32位的库造成的,根据网上的资料继续执行:

readelf  -l  test  | grep interpreter  #查看该程序的加载程序

返回:[Requesting program interpreter:  /lib/ld-linux.so.3]   由这该程序由/lib/ld-linux.so.3

但在/lib/下没有发现ld-linux.so.3 所以,问题应该就是出在这个test程序的加载上了,执行./test 返回的 No such file or directory 并不是指找不着test这个文件而是指的/lib/ld-linux.so.3这个文件或者其它的test所依赖的动态库。

下一步查看开发板是通过哪个程序来加载程序的,因为我的开发板的系统带了gcc,所以继续

echo "void main{}"  > dummy.c

gcc dummy.c

readelf  -l  a.out  | grep interpreter  返回如下:

[Requesting program interpreter:  /lib/ld-linux-armhf.so.3]  由这可以看出板子上的程序是由/lib/ld-linux-armhf.so.3这个程序加载

ls  -l /lib/ld-linux-armhf.so.3  返回:/lib/ld-linux-armhf.so.3 -> arm-linux-gnueabihf/ld-2.15.so

ln  -sv /lib/arm-linux-gnueabihf/ld-2.15.so  /lib/ld-linux.so.3 建立链接

执行: ./test  返回结果已经变了,如下:

./test: error while loading shared libraries: libcv.so.4: cannot open  shared object file: No such file or directory 

这有可能是libcv.so.4没有加载造成的,

ldconfig  #加载动态库

ldconfig  -p  | grep libcv  

返回:libcv.so (libc6) =>/opt/opencv2.0/lib/libcv.so # 通过这个确定libcv.so这个库己经加载了,但却没有找到,这是乍回事呢?

从上面的结果上还看到这个libcv.so 还依懒于libc6这个库,是否没有libc.so.6这个库呢?

ls -l /lib  | grep libc  #通过这个命令查看果然没有libc.so.6这个命令,通过find  /lib  -name  libc.so.6 发现

/lib/arm-linux-gnueabihf/libc.so.6

于是建立链接:

ln  -sv  /lib/arm-linux-gnueabihf/libc.so.6   /lib/libc.so.6 

执行:./test 如果如下:

./test: error while loading shared libraries: libcv.so.4: cannot open  shared object file: No such file or directory 

到此我怀疑程序test所依懒的libc.so.6与系统中的libc.so.6是不兼容的,因为通过ldconfig  -p  查看很多库依懒的是libc6, hard-float. 于是我决定换一个编译器了。

通过查资料发现:

在2012年4月13号的时候由Linaro组织开了一个会议,以统一各ARM板linux系统发行版的加载程序/lib/ld-linux.so.3的路径及名称,在这前:

Debian/Ubuntu 用的是:/lib/arm-linux-gnueabihf/ld-linux.so.3

Fedora, OpenSUSE用的是:/lib/ld-linux.so.3 

这就会造成编译好的程序在不同的linux版本上运行不兼容,因此才会出现:No such file or directory的出错。

这会议之后的统一的加载程序是:/lib/ld-linux-armhf.so.3

所以要找编译器,也最好是找2012年4月13号之后的,于是我用gcc-linaro-arm-linux-gnueabihf-4.7-2013.02-01-20130221_linux编译器重新编译了一遍,问题解决了。

参考:http://superuser.com/questions/344533/no-such-file-or-directory-error-in-bash-but-the-file-exists
http://ubuntuforums.org/showthread.php?t=2031471

https://wiki.linaro.org/OfficeofCTO/HardFloat/LinkerPathCallApr2012

  评论这张
 
阅读(77)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018