centos安装netmap

新机器可能很多环境都没有安装,需要将环境初始化好

像gcc,make等,

在最开始是configure总是失败,查找config.log可以看到问题

安装缺少的包,搜索一下:yum search libelf-dev,可以看到相应的包 elfutils-libelf-devel.x86_64,

安装之后,重新configure,即可

centos安装netmap相对来说比较简单。

1. 主要第一步安装kernel-devel

从光盘安装kernel-devel包,默认安装即可,安装完毕应该在/usr/src/kernel/...

2、下载netmap       

git clone https://github.com/luigirizzo/netmap.git

======================================问题描述开始=======================

3. make,make install

但是现在centos最新版是centos8.2,安装netmap会报错误,使用wiki方法指定网卡驱动版本,还是不行,

指定网卡驱动版本方法:

./configure --prefix=/usr/local/src/buildnetmap  --kernel-sources=/usr/src/kernels/4.18.0-193.el8.x86_64 --kernel-dir=/usr/src/kernels/4.18.0-193.el8.x86_64  --driver-suffix=-netmap --select-version=e1000e:3.8.4 --drivers=e1000e

看出问题的报错信息像是版本不兼容问题:出错信息:

/usr/local/src/netmap/netmap-tmpdir/__test__11.c:15:23: 附注:(在‘ndo.ndo_select_queue’的初始化附近)
cc1:所有的警告都被当作是错误
make[2]: *** [scripts/Makefile.build:318:/usr/local/src/netmap/netmap-tmpdir/__test__11.o] 错误 1
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__10.o
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__8.o
/usr/local/src/netmap/netmap-tmpdir/__test__8.c: 在函数‘dummy’中:
/usr/local/src/netmap/netmap-tmpdir/__test__8.c:8:20: 错误:提供给函数‘ndo->ndo_select_queue’的实参太少
             return ndo->ndo_select_queue(NULL, NULL, NULL);
                    ^~~
/usr/local/src/netmap/netmap-tmpdir/__test__8.c:9:5: 错误:在有返回值的函数中,控制流程到达函数尾 [-Werror=return-type]
     }
     ^
cc1:所有的警告都被当作是错误
make[2]: *** [scripts/Makefile.build:318:/usr/local/src/netmap/netmap-tmpdir/__test__8.o] 错误 1
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__9.o
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__7.o
/usr/local/src/netmap/netmap-tmpdir/__test__7.c: 在函数‘dummy’中:
/usr/local/src/netmap/netmap-tmpdir/__test__7.c:8:20: 错误:提供给函数‘ndo->ndo_select_queue’的实参太少
             return ndo->ndo_select_queue(NULL, NULL);
                    ^~~
/usr/local/src/netmap/netmap-tmpdir/__test__7.c:9:5: 错误:在有返回值的函数中,控制流程到达函数尾 [-Werror=return-type]
     }
     ^
cc1:所有的警告都被当作是错误
make[2]: *** [scripts/Makefile.build:319:/usr/local/src/netmap/netmap-tmpdir/__test__7.o] 错误 1
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__6.o
/usr/local/src/netmap/netmap-tmpdir/__test__6.c: 在函数‘dummy’中:
/usr/local/src/netmap/netmap-tmpdir/__test__6.c:9:3: 错误:implicit declaration of function ‘kthread_use_mm’; did you mean ‘kthread_parkme’? [-Werror=implicit-function-declaration]
   kthread_use_mm(mm);
   ^~~~~~~~~~~~~~
   kthread_parkme
cc1:所有的警告都被当作是错误
make[2]: *** [scripts/Makefile.build:319:/usr/local/src/netmap/netmap-tmpdir/__test__6.o] 错误 1
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__3.o
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__2.o
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__5.o
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__4.o
  CC [M]  /usr/local/src/netmap/netmap-tmpdir/__test__1.o
/usr/local/src/netmap/netmap-tmpdir/__test__1.c: 在函数‘dummy’中:
/usr/local/src/netmap/netmap-tmpdir/__test__1.c:8:15: 错误:‘struct net_device’ has no member named ‘ax25_ptr’; did you mean ‘tipc_ptr’?
   return dev->ax25_ptr;
               ^~~~~~~~
               tipc_ptr
/usr/local/src/netmap/netmap-tmpdir/__test__1.c:9:2: 错误:在有返回值的函数中,控制流程到达函数尾 [-Werror=return-type]
  }
  ^
cc1:所有的警告都被当作是错误
make[2]: *** [scripts/Makefile.build:318:/usr/local/src/netmap/netmap-tmpdir/__test__1.o] 错误 1
make[2]: 由于错误目标“__build”并未重新制作。
make[1]: *** [Makefile:1542:_module_/usr/local/src/netmap/netmap-tmpdir] 错误 2
make[1]: 由于错误目标“_all”并未重新制作。
make: *** [Makefile:12:tests] 错误 2
make: 由于错误目标“all”并未重新制作。
********************************** WARNING **********************************
*** There were problems building the external driver e1000e.
*** 
*** Please note that this is not related to the netmap patches,
*** that were not applied.
*** 
*** Disabling e1000e.
*****************************************************************************

 

======================================问题描述结束=======================

更换centos7 实验一下,实验中。。。。。问题终于解决。原来是路走偏了。如上图所出的错误是测试例子出的,按理说也不行。事实是configure只要生成makefile即可。

然后make、makeinstall生成netmap.ko文件。

安装netmap最好升级下内核:

yum -y update

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值