spdk/dpdk 编译相关问题汇总

下载

到官网上下载最新的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出 消息队列 ActiveMQ

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、 概述与介绍 ActiveMQ 是Apache出品,最流行的、功能强大的即时通讯和集成模式的开源服务器。ActiveMQ 是一个完全支持JM…

2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018) - 4.28

赛后补了几道 赛中我就写了两个... A - Altruistic AmphibiansGym - 101933A 看了眼榜没几个人做。就没看。 最后发现就是一个DP(但是我觉得复杂度有点迷) 题意:$n$只青蛙有参数$l,w,h$分别表示弹跳力,体重,身高&#…

消息队列技术介绍 : ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ

一、 消息队列概述 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。实现高性能、高可…

程序员的恶性循环 !

穷人的恶性循环: 穷 -> 需要努力工作 -> 没有时间去交际 -> 人脉越来越狭窄 -> 工作越来越难做 -> 越需要努力去工作 -> 越没有时间去发展人脉 -> 越穷 富人的良性循环: 有钱 -> 工作很轻松 -> 很多时间都在交际上 -> 人…

刷脸考勤,重新定位校园管理

近几年,人脸识别技术在安防领域得到了广泛应用,随着技术的不断发展,它离我们的日常生活越来越近,手机、商场、公园、校园等都可以看到它的身影。刷脸考勤,重新定义校园管理。人脸识别,也叫面部识别&#xf…

python爬虫学习之页面登陆

爬虫学习的一点心得 登陆主要有3种方法:使用selenium,cookies,模拟表单登陆 个人对于一般情况使用cookies登陆 可以实现一次手动,长期自动,可以绕过登陆(登陆的相关信息密码,账号等会存于cookie…

消息队列 应用场景 解析

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 另外腾讯云-云社区还有一文不允许转载,但内容挺好的:https://cloud.tencent.com/developer/article/1006035 分布…

求职面试的时候如何谈薪酬待遇

在社会大学里混了那么多年,我最惨痛的经历就是,在应聘一家企业的时候,总是羞于谈薪酬待遇。大概这是很多职场新人都会遇到过的尴尬吧——觉得自己经验不够,或者想应聘的企业比较好,就觉得对方提多少就是多少吧&#xf…

利用memcached实现CAS单点登录集群部署

前言:利用memcached实现CAS单点登录集群部署 负载均衡:将接口请求的有状态性变成无状态性。是我们在实现负载均衡时必要要解决的问题。以应用接口的session状态为例,一般解决方法都是将session数据和应用进行剥离,session数据统一…

注册

<!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>注册</title> {# 导入jQuery基础类库&#xff0c;才可以使用 $ #} <script src"../static/js/jquery-1.12.4.min.js"&…

Linux中10个有用的命令行补齐命令

本文由 极客范 - 踏雁寻花 翻译自 Balakrishnan Mariyappan。欢迎加入极客翻译小组&#xff0c;同我们一道翻译与分享。转载请参见文章末尾处的要求。在Linux系统中&#xff0c;输入一个命令&#xff0c;再按两次TAB键&#xff0c;就会列出所有以输入字符开头的可用命令。这并…

分布式开放消息系统 ( RocketMQ ) 的原理与实践

分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件&#xff0c;需要具有高吞吐量、高可用等特点。而谈到消息系统的设计&#xff0c;就回避不了两个问题&#xff1a; 消息的顺序问题消息的重复问题RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件&#xff…

数据结构02-链表

说明&#xff1a;由于该数据结构是由java并且是原生实现&#xff0c;所以与C有一些出入&#xff0c;不过原理是相同的 1.链表的定义 为了表示线性表元素a与a1的逻辑关系&#xff0c;存储数据时&#xff0c;除了存储元素本身的信息之外&#xff0c;还存储了直接后继元素的位置信…

第四章 面向对象

第四章 面向对象 1. 基本格式 定义&#xff1a;当函数(业务功能)比较多&#xff0c;可以使用面向对象来进行归类&#xff0c;如果有一个凡事使用的公共值&#xff0c;也可以放到对象中 #格式&关键字 class 类名:def __inti__(self,x)self.x xdef 方法名(self,name):print(…

洛谷P2347 砝码称重 某一年noip提高组原题

可以转化为01背包求方案数的问题&#xff0c;dp数组f[][]表示第几个砝码能称出的重量,可压缩至一维 转移方程为f(i,j)f(i-1,j-w[i]) 当前我们可以称出的重量必定是由之前的砝码重量转移过来的 #include<bits/stdc.h> using namespace std; const int N550; const int max…

解决:-bash: unzip: command not found (Linux 中 unZip/Zip 的安装及使用)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Linux系统没有自带的压缩解压工具&#xff1b;需要我们自己安装&#xff1b; 当用到zip或者unzip如果没有安装就会出现 unzip: Command…

云计算时代IT专业人员需具备的10项技能

摘要&#xff1a;IT专业人员需要不断的学习&#xff0c;才能确保自己的工作能力跟上时代的步伐。云时代IT专业人员不仅需要具备一定的专业技能&#xff0c;比如快速运用自身知识快速在互联网上构建应用程序&#xff0c;还必须具备商业、金融、业务需求分析等等。 【编者按】谈…

java自定义注解学习笔记

注解学习笔记之自定义注解 Target&#xff08;{1,2,3,4,5,6,7}&#xff09; 1.ElementType.CONSTRUCTOR:用于描述构造器2.ElementType.FIELD:用于描述域3.ElementType.LOCAL_VARIABLE:用于描述局部变量4.ElementType.METHOD:用于描述方法5.ElementType.PACKAGE:用于描述包6.Ele…

[xsy3132]数表

题意&#xff1a;一个$n\times m$的数表&#xff0c;数值$\in[0,4)$&#xff0c;你可以任意次选择一行或一列$1,\text{mod }4$&#xff0c;要最小化所有数的和 因为$n\leq10$&#xff0c;所以数表可以看成$m$个$n$位$4$进制数$a_{1\cdots m}$&#xff0c;以下使用不进位加法 定…

linux 下载、安装 maven

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 创建maven的文件夹并下载maven的tar包到此文件夹中 //进入一个目录 cd /usr/local//创建一个文件夹 mkdir maven//下载maven的tar包…