下载

到官网上下载最新的spdk 代码。

解决编译依赖

yum install libaio.x86_64 libaio-devel.x86_64

编译dpdk

特别注意的是dpdk:依赖 /lib/modules/uname -a/build 下执行的内核已经存在,并且编译过,为此需要:

  • 下载内核;
  • 安装依赖;
    yum install ncurses.x86_64 ncurses-devel.x86_64 ncurses-libs.x86_64 ncurses-static.x86_64 ncurses-base.x86_64 ncurses-term.x86_64 ocaml-curses.x86_64

yum install numactl-devel.x86_64 numad.x86_64 numactl.x86_64

make menuconfig && make && make modules && make bzImage

注意用系统自带的gcc make menuconfig 才可以弹出界面;

编译spdk

参考下面命令:

./configure --with-fio=/home/xiaqichao/spdk/fio/fio --with-dpdk=/home/xiaqichao/latestspdk/spdk/dpdk/x86_64-native-linuxapp-gcc --without-virtio --without-vhost
make;
echo "EXTRA_CFLAGS=-fPIC" >> config/defconfig_x86_64-native-linuxapp-gcc && echo && make install T=x86_64-native-linuxapp-gcc DESTDIR=.LINK examples/bdev/fio_plugin/fio_plugin
/home/opt/gcc-4.8.2.bpkg-r4/gcc-4.8.2.bpkg-r4/sbin/../lib/gcc/x86_64-baidu-linux-gnu/4.8.2/../../../../x86_64-baidu-linux-gnu/bin/ld.bfd: cannot find -lnuma
collect2: error: ld returned 1 exit status
make[3]: *** [fio_plugin] Error 1
make[2]: *** [fio_plugin] Error 2
make[1]: *** [bdev] Error 2
make: *** [examples] Error 2
[root@s]# cd /
[root@s]# find ./ -name "libnuma*.so"
./usr/lib64/libnuma.so
[root@s]# cp ./usr/lib64/libnuma.so //home/opt/gcc-4.8.2.bpkg-r4/gcc-4.8.2.bpkg-r4/usr/lib
lib/     lib64/   libexec/
[root@s]# cp ./usr/lib64/libnuma.so //home/opt/gcc-4.8.2.bpkg-r4/gcc-4.8.2.bpkg-r4/usr/lib64/

可以通过下面的命令来解决上面的依赖:
yum install numactl-devel.x86_64 numad.x86_64 numactl.x86_64

然后重新编译即可。

hello world nvme 版本程序演示

[ DPDK EAL parameters: hello_world -c 0x1 --file-prefix=spdk0 --base-virtaddr=0x1000000000 --proc-type=auto ]
EAL: Detected 32 lcore(s)
EAL: Auto-detected process type: PRIMARY
Initializing NVMe Controllers
EAL: PCI device 0000:86:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
EAL: PCI device 0000:87:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
EAL: PCI device 0000:88:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
EAL: PCI device 0000:89:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
EAL: PCI device 0000:af:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
EAL: PCI device 0000:b0:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
EAL: PCI device 0000:b1:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
Attaching to 0000:b1:00.0
EAL: PCI device 0000:b2:00.0 on NUMA socket 0
EAL:   probe driver: 8086:a54 spdk_nvme
Attached to 0000:b1:00.0
Using controller INTEL SSDPE2KX040T7  (BTLF82140KK74P0IGN  ) with 1 namespaces.Namespace ID: 1 size: 4000GB
Initialization complete.
Hello world!
nvme_ctrlr.c: 473:nvme_ctrlr_shutdown: *ERROR*: did not shutdown within 5 seconds

转载于:https://blog.51cto.com/xiamachao/2386347

spdk/dpdk 编译相关问题汇总相关推荐

  1. Android开发环境——模拟器AVD相关内容汇总

    Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关内 ...

  2. Latex相关资源汇总

    [转载]Latex相关资源汇总 前言 latex并不难,latex也不是艺术,而是给Knowledge Engineers的一个撰文工具,仅此而已.一篇文章真正的价值在于里面的发现和思维逻辑,文本.图 ...

  3. python学习——相关软件汇总

    python学习--相关软件汇总 Part 1:准备工作 安装所需软件. 文本编辑器 VScode.pycharm 工具包 anaconda 交互式运行 python3.x 一.需要安装: 1.文本编 ...

  4. ODBC管理器相关知识汇总

    ODBC管理器相关知识汇总 最近,在使用终端应用程序调用数据库文件时,发生了:ODBC问题之驱动程序和应用程序之间的体系结构不匹配等问题,通过查阅资料,小有收获,汇总如下: ODBC:开放数据库互连, ...

  5. SS626V100 SDK安装编译osdrv问题汇总

    文章目录 前言 1.开发环境 2.在 linux 服务器上安装交叉工具链 2.1 安装 aarch64-mix410-linux.tgz 2.2 安装 cc-riscv32-cfg11-musl-20 ...

  6. 【camera】自动泊车-视觉车位检测相关资料汇总(论文、数据集、源代码、相关博客、演示demo)(1)

    [camera]自动泊车-视觉车位检测相关资料汇总(论文.数据集.源代码.相关博客.演示demo)parking slot detection 论文 2020论文 2019论文 2018论文 2017 ...

  7. 【radar】毫米波雷达-相机-激光雷达融合相关论文汇总(特征融合、RPN融合、弱监督融合、决策融合、深度估计、跟踪)(5)

    [radar]毫米波雷达-相机-激光雷达融合相关论文汇总(特征融合.RPN融合.弱监督融合.决策融合.深度估计.跟踪)(5) Radar Camera Fusion Feature-level Fus ...

  8. 【radar】毫米波雷达动态障碍物检测相关论文汇总(聚类、分类、稀疏2D点、4D点、雷达成像、原始数据处理)(4)

    [radar]毫米波雷达动态障碍物检测相关论文汇总(聚类.分类.稀疏2D点.4D点.雷达成像.原始数据处理)(4) Detection of Dynamic Objects Clustering 20 ...

  9. Android开发环境——Eclipse ADT相关内容汇总

     Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...

最新文章

  1. 2021年大数据常用语言Scala(十四):基础语法学习 数组  重点掌握
  2. Oracle 中多个字段显示成一列
  3. 简析服务端通过geotools导入SHP至PG的方法
  4. c语言顺序查找算法,c语言实现排序和查找所有算法
  5. 某东商城获取eid和fp参数方法
  6. Spring4.x()--Spring的Jdbc事务-零配置
  7. 隔离见证_云见证–一种使我们的生活更轻松的新功能
  8. Machine Learning - XIII. Clustering聚类 (Week 8)
  9. USB设备驱动理解(wds)
  10. 221. Maximal Square
  11. 再见了我热爱的ACM赛场
  12. 按钮 加加加 减减减
  13. html flv swf,支持SWF和FLV视频格式的焦点图代码
  14. 前端将0到1的小数值转换成百分比
  15. 用计算机找终身伴侣,五个经典问题决定你是否找到终身伴侣
  16. C# 关键字 使用where来限定泛型约束
  17. 这11家世界顶级AI初创公司,每个单拎出来都是行业第一
  18. 传输媒体、表示媒体、感觉媒体、表现媒体的区别
  19. python生僻字如何转码_Python检测生僻字的实现方法
  20. xtrabackup 问题“Too many open files”system error number 24

热门文章

  1. linux 源码安装mysql5.7_linux安装mysql5.7.27
  2. 根据年月日判断第多少天,星期几
  3. ios 不被遮挡 阴影_为何你没见到日环食?你不知道的天象常识原来还有这么多 | 返朴...
  4. 用Python将文件夹打包成Zip并备份至U盘
  5. python每天定时9点执行_python定时器每天订时执行的实例方法
  6. 英语口语 week12 Thursday
  7. 编译性语言、解释性语言和脚本语言
  8. 浅谈:国内软件公司为何无法做大做强?
  9. FFMpeg的output_example.c例子分析
  10. springCloud - 第6篇 - 网关的实现:ZUUL