ubuntu安装libcap1.1.1

开始按照libcap1.1.1里面得install 文档安装,结果出现3所提示得错误, 靠的了,从网上找了一晚上,才找到这篇文章,当时欣喜若狂
结果GNU M4和flex都按不上,找了一个小时才发现他妈的我的环境变量设置里多个一个空格,害的提示找不到tools.jar,
fuck得这个空格真他妈难发现,然后一切顺利,结果好不容易在eclipse找到位置添加-libcap选项,结果运行时
提示error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory

 

又花了n小时,最后发现安完libpcap需要执行 sudo ldconfig,fuck ,这个教程也不写全了。
现记录如下,为后人指导..

 

 

libnet-1.1.4下载地址

http://sourceforge.net/projects/libnet-dev/files/libnet-dev/libnet-1.1.4/libnet-1.1.4.tar.gz/download

libcap下载地址

http://www.tcpdump.org/

 

 

在Ubuntu平台安装libpcap

  通过官方提供的资料可以了解安装的基本环境:
To compile the libpcap library, your Unix distribution must have a C compiler, and the lex and bison text parsers. For Open Source Unix distributions such as Linux and FreeBSD, the gcc, flex, and bison programs provide these functions. 
安装Ubuntu操作系统后是没有安装C compiler、flex、bison

1.安装gcc编译器
直接在终端执行sudo apt-get install gcc libc6-dev 安装gcc(需要系统光盘),要不然连helloworld这么简单的都编译不过,或者在编译tar.gz文件时提示“C compiler cannot create executable”的错误。

编写helloworld测试gcc编译器:
#include<stdio.h>
int main(){
printf("hello,world!/n");
return 0;
}

第一次接触gcc编译器,发现不支持void main()这种main函数的。

2.编译GNU M4 (version 1.4)
这个是编译flex必备的环境,否则会提示“GNU M4 1.4 is required”的错误

3.编译flex(version 2.5.33)
没有flex,直接安装libpcap会提示“Your operating system's lex is insufficient to compile libpcap”错误。

4.编译bison(version 2.3)
在安装flex后直接安装libpcap会提示“don't have both flex and bison;reverting to lex/yacc”错误,前面安装的是flex,就需要搭配bison

5.编译libpcap
全面四步完成后,就可以使用下面三个指令安装libpcap环境:
./configure
make
sudo make install
6. ldconfig
简单的例子测试一下libpcap:
//device.c
#include <pcap.h>
int main(int argc,char *argv[]){
   char *dev, errbuf[PCAP_ERRBUF_SIZE];
   dev=pcap_lookupdev(errbuf);
   if(dev==NULL){
      fprintf(stderr,"couldn't find default device: %s/n",errbuf);
      return(2);
   }
   printf("Device: %s/n",dev);
   return(0);
}

编译指令:gcc -o device device.c -lpcap

备注:编译时要使用libpcap的参数 -lpcap,否则会提示“pcap_lookupdev 未定义的引用”的错误。
eclipse 在工程目录debug/src/objects.mk文件中LIBS := 后面添加-L/usr/local/lib -lpcap

这只是笨方法,正确方法还没找到 哈哈
运行指令:./device

6.总结
就这么简单的几个步骤,我花了一天的时间才弄出来的,跑到国外查阅了很多资料,国内几乎找不到这方面的资料,主要原因其一是使用Ubuntu的人很少,而使用Redhat的直接安装就可以,本身系统不会缺少flex、bison;其二是我不熟悉在linux平台安装程序,不象windows平台点几下鼠标就可以安装的,还有flex、bison很难才找到提供下载的地方,也是在国外。

备注:
1)出现“无法创建一般文件 '/usr/local/bin/m4':Permission denied”错误,权限问题,Ubuntu默认root用户不启用的,可以使用sudo指令解决这个问题。

2)Ubuntu不支持rpm安装文件,rpm是Red Hat操作系统的标准安装文件格式,可以采用alien将rpm包转换为deb包。
安装alien:sudo apt-get install alien
alien使用:alien ****.rpm
           这样就生成Ubuntu支持的****.deb
安装deb:sudo dpkg -i ****.deb
         或者右键菜单,安装deb

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值