Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1216528
  • 博文数量: 404
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 5382
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-03 16:29
文章存档

2010年(40)

2009年(140)

2008年(224)

我的朋友

分类: LINUX

2010-04-06 16:11:21

交叉编译file工具

luther@gliethttp:~$ wget
luther@gliethttp:~/file-4.26$ ./configure --host=arm-linux --datarootdir=/usr/share --prefix=/home/luther/gliethttp
luther@gliethttp:~/file-4.26$ make  
编译之后最后会有错误提示,没关系因为最后make会执行编译出来的file,因为file是arm的所以当然会报错,
后面我们会在arm开发板上执行报错操作,生成magic.mgc类型库文件.
luther@gliethttp:~/file-4.26$ make install
luther@gliethttp:~/file-4.26$ tree ~/gliethttp
/home/luther/gliethttp
|-- bin
|   `-- file
|-- include
|   `-- magic.h
`-- lib
    |-- libmagic.a
    |-- libmagic.la
    |-- libmagic.so -> libmagic.so.1.0.0
    |-- libmagic.so.1 -> libmagic.so.1.0.0
    `-- libmagic.so.1.0.0

3 directories, 7 files
上面只是生成了file和libmagic.so库,file需要读取/usr/share/file/magic.mgc类型文件,这个文件在pc上不能正常生成,
只能拷贝到arm开发板上去生成
luther@gliethttp:~/gliethttp$ cp -ar lib /vobs/nfs/
luther@gliethttp:~/gliethttp$ cp bin/file /vobs/nfs/
luther@gliethttp:~/file-4.26/magic$ cp -ar Magdir /vobs/nfs/
在arm开发板上
# cd /nfs
# ./file -C -m Magdir  生成类型库Magdir.mgc
# ls -l Magdir.mgc
-rw-r--r--    1 root     0         1660224 Aug 22  2009 Magdir.mgc
将Magdir.mgc重命名为magic.mgc,然后拷贝到/usr/share/file/magic.mgc就可以使用file了
# cp Magdir.mgc /usr/share/file/magic.mgc
# ./file nls_cp936.ko
nls_cp936.ko: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), stripped
阅读(610) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~