主题 : 请问如何在ARM9 LINUX板子上移植libnet?(有点急) 复制链接 | 浏览器收藏 | 打印
特来此处,因为家里没酱油了。。
级别: 新手上路
UID: 42696
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-04-10
最后登录: 2011-05-31
楼主  发表于: 2011-04-15 14:41

 请问如何在ARM9 LINUX板子上移植libnet?(有点急)

因为要参加一个比赛,写了一段利用libnet发包的程序,在电脑上可以运行,但是我的目的是让他在mini2440的LINUX系统上运行,但是不怎么会移植lbnet 和libpcap,网上的教程也不多,零零碎碎,所以麻烦大家给我点思路,当然,越具体越好~多谢各位了!
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2011-04-15 16:11
先交叉编译跑跑看是什么状态再说
特来此处,因为家里没酱油了。。
级别: 新手上路
UID: 42696
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-04-10
最后登录: 2011-05-31
2楼  发表于: 2011-04-16 21:22

 回 1楼(911gt3) 的帖子

我现在已经用arm-linux-gcc成功编译了libpcap和libnet,那么现在是不是只要把编译生成的库文件直接复制到板子上的内核源码的lib目录里就可以了?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2011-04-17 17:56

 回 2楼(xuzhaokui) 的帖子

是板子文件系统里对应于make install后生成库文件所保存的路径。包括生成的.so和指向.so的链接文件。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
特来此处,因为家里没酱油了。。
级别: 新手上路
UID: 42696
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-04-10
最后登录: 2011-05-31
4楼  发表于: 2011-04-17 19:21

 回 3楼(kasim) 的帖子

我还有个地方不懂,“make install” libnet的时候会生成不止是.so文件吧,包括一些头文件之类的,我应该怎么办才能算是在板子上的LINUX系统上完整的安装了libnet呢?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
5楼  发表于: 2011-04-17 20:32
头文件是不需要安装到开发板上的,那只是在开发主机上交叉编译用的。对于像libnet这样的共享库来说,安装.so以及指向其的符号链接到开发板上就可以了。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
特来此处,因为家里没酱油了。。
级别: 新手上路
UID: 42696
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-04-10
最后登录: 2011-05-31
6楼  发表于: 2011-04-19 10:49

 回 5楼(kasim) 的帖子

恩 这点我懂了  谢谢,我在板子上安装好.so后,运行我编译好的nl程序,然后提示在执行libnet_init函数的时候出错了

nl uses obsolete (PF_INET,SOCK_PACKET)
libnet_init fail :  Socket:Address family not supported by protocol

我程序里的语句是

net_0 = libnet_init(LIBNET_LINK, "eth0", errbuf);

但是我在主机上是可以运行的,这又怎么回事?我想去找libnet_init的实现函数,但没找到,只找到了它的声明。
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
7楼  发表于: 2011-04-19 11:05
你板上的eth0都配置好了吗? 能正常工作不?
特来此处,因为家里没酱油了。。
级别: 新手上路
UID: 42696
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
综合积分: 22 分
注册时间: 2011-04-10
最后登录: 2011-05-31
8楼  发表于: 2011-04-19 12:24

 回 7楼(911gt3) 的帖子

配置好的

[root@FriendlyARM plg]# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:90:90:90:90:90  
          inet addr:192.168.1.230  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:51 Base address:0x4300
可以正常工作