Ubuntu配置PMDK环境

Ubuntu配置PMDK环境

系统环境

  • Ubuntu-20.04

    具体是在VirtualBox上安装Ubuntu虚拟机然后进行配置的,具体参考我之前写的文章:
    VirtualBox上安装Ubuntu-20.04(含镜像下载源)

参考

  • PMDK介绍的相关资料
    • Github:https://github.com/pmem/pmdk
    • 持久性内存开发套件(PMDK)是系统管理员和应用程序开发人员的库和工具的集合,以简化管理和访问持久性存储设备的过程。 有关更多信息,请参见https://pmem.io
  • 配置过程参考
    • PMDK编译安装

      这篇文章的配置环境是在CentOS-7,配置过程非常繁琐,特别是对于一些依赖包的安装,我也试过在CentOS上配置,遇到一些小问题,不过都解决了,主要是在安装pandoc的时候,需要通过clone Github上的代码进行安装,我的网速不太行,总是clone你不下来,就放弃了,该用在Ubuntu上配置,简单很多。

配置过程

  • 这里是我配置过程的一个记录,事无巨细,所有的命令都记录了。主要是因为我基于了一个几乎全裸的Ubuntu进行配置的。
  • 使用自顶向下的方式进行记录,中途遇到依赖包的问题,再进行配置,Ubuntu对于缺失的依赖包的提示还是比较好的

1. 安装git

git clone时发现git没安装,先进行安装

sudo apt install git

2. Clone代码,尝试make

git clone https://github.com/pmem/pmdk.git
cd pmdk
make

结果发现make未安装

3. 安装make

sudo apt install make
  • 安装后,再尝试make,然后发现了很多缺失的依赖包,后面进行了配置

4. 安装GCC编译器

sudo apt install build-essential
  • 配置的详细讲解可以参考我之前写的文章:Ubuntu-20.04上安装GCC编译器

5. libdaxctl-devel 依赖安装

sudo apt-get install libdaxctl-dev

6. libndctl-devel 依赖安装

sudo apt-get install libndctl-dev
  • 具体参考了这篇文章:https://blog.csdn.net/SweeNeil/article/details/89967593

7. pandoc命令安装

sudo apt-get install pandoc

pandoc是一个文档处理工具,类似Markdown,是Markdown的升级版,感觉挺有意思的,这里记录一些我浏览过的一些文章。

  • http://www.zale.site/articles/2016/05/Academia-Writing-Using-Markdown-and-Pandoc.html
  • https://www.jianshu.com/p/697ae3fcd576
  • https://blog.csdn.net/amnesiagreen/article/details/104288689

注意:网上很多安装都是比较完整的安装,非常大,好几个GB,伤不起,这里只需要一个简化版的安装就可以满足需求。

8. m4 命令安装

sudo apt-get install m4

9. libfabric 依赖安装

sudo apt-get install libfabric-dev

至此,所有的依赖包都安装完了,运行make命令,编译成功

10. PMDK 测试

cp src/test/testconfig.sh.example src/test/testconfig.sh
make test
make check

注意其中src/test/testconfig.sh.example是配置文件src/test/testconfig.sh的样例。高级点的话,需要对该文件的配置进行修改,我这里没细究,直接就用了。

11. 安装

make install

至此,PMDK环境的安装便大功告成

其他说明

因为我安装该环境是为了测试一个使用持久性内存的项目代码,项目使用了很奇怪的运行命令,小白的我不懂,这里记录一下。

  • 安装一个包
sudo apt install numactl

然后就可以使用这个包运行编译好的程序。

numactl --cpunodebind=0 --membind=0 ./src/test 1 20 2 >> out1.out

感谢查阅!!

你可能感兴趣的:(其他配置,Ubuntu)