博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 18.04安装英特尔Optane DC Persistent Memory Module配置工具ipmctl
阅读量:4165 次
发布时间:2019-05-26

本文共 3357 字,大约阅读时间需要 11 分钟。

《Intel Optane DC Persistent Memory Module (PMM)详解》

地址:

《Linux上快速入门英特尔Optane DC Persistent Memory Module的配置与使用》

地址:

通过前面的两篇博文,了解到了Optane DC PMM的相关知识以及配置方法,现在就把配置工具在ipmctl来进行安装~

虽然在github上提供了编译安装的方法,但是我们实际操作的时候可能不会如此一帆风顺,这也是这篇博文的目的,讲解一下我的安装过程,以及遇到的那些问题。

没想到在安装的过程中遇到了这么多的问题,所以本文分为两个版本,一个是遇坑版,一个是简洁版,遇坑版就描述自己安装过程中遇到的问题以及解决方法,简洁版就把整个过程简洁地表达出来,如果时间紧可以直接跳到文末的简洁版。

 

目录


一、遇坑版

环境:Ubuntu 18.04

我是新装机的一台Ubuntu 18.04,里面什么都没有,第一步更新国内的软件源(随意),然后update

sudo apt-get update

将github上的软件下载到Ubuntu 18.04上,然后解压

ipmctl:

按照github上的指示进行安装:

mkdir output && cd outputcmake -DRELEASE=ON -DCMAKE_INSTALL_PREFIX=/ ..

在cmake的时候遇到第一个问题,新装的Ubuntu 18.04中并没有安装cmake,接下来先安装cmake

sudo apt install cmake

安装好之后继续运行:

cmake -DRELEASE=ON -DCMAKE_INSTALL_PREFIX=/ ..

又遇到了下面的问题: 

问题具体描述:No CMAKE_CXX_COMPILER could be found.

解决方案:

sudo apt-get install build-essential

再次运行:

cmake -DRELEASE=ON -DCMAKE_INSTALL_PREFIX=/ ..

 又遇到了如下的新问题:

 这个问题试了很多办法,进入到CMakeLists.txt中:

vi CMakeLists.txt

我目前是将CMakeLists.txt第43行的语句:

if(NOT GIT_FOUND OR ${GIT_RETURN_CODE})

改为了:

if(NOT GIT_FOUND OR GIT_RETURN_CODE)

改成这样之后这里就没有报错了,但是具体原因还不清楚,在网上找到一个可能靠谱的资料。

地址:

但是这个问答里面我也还是没弄清楚到底是怎么回事,感觉跟cmake关系很大,这个问题按照上面板的方法去除之后,继续进行cmake,又遇到了如下的问题:

具体问题应该是:

Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

按照这个问题进行解决,没有pkg,我们先安装上:

sudo apt-get install pkg-config

安装上后继续运行,又遇到了一大堆问题,这些问题如下:

看来是因为电脑里缺少太多的包了,必须先将这些包装上才能继续运行

依次安装这些需要的包:

sudo apt-get install asciidoctor
sudo apt-get install asciidoc

 装下面这个废了半天劲,如果一次安装不成功就多试几次:

sudo gem install asciidoctor-pdf --pre

 如下图,我是失败了很多次

装了上面这三个,我们再来运行一下cmake:

cmake -DRELEASE=ON -DCMAKE_INSTALL_PREFIX=/ .

得到如下的结果:

没有找到 libndctl,那么使用apt-get install试试:

sudo apt-get install libndctl

找不到~~~这就很难受了~~~

但是我们注意ndctl是我们之前提到的一个工具,它的github地址如下:

可以下载下来进行安装,但是这个时候我突然想到既然直接找libndctl找不到,那加上dev试试,所以:

sudo apt-get install libndctl-dev

 这玩意是真玄学,如果安装不成功可以按照下面的链接进行安装:

下图为我在主机(Ubuntu 18.04)上安装成功后的图

下图为在虚拟机(Ubuntu 18.04)上安装成功的图:

使用上面的语句试一试,最后成功安装,我们再执行cmake,又遇到如下的问题:

前面的问题已经解决,接下来又有一个包没有,能怎么办~~接着装吧~~~

装git:

sudo apt-get install git

然后再装safec-3.3……

这safec-3.3到底是什么!!!

找不到~找不到~找不到~

好吧,这里粗心了,搜索了半天,结果人家github界面上提示了方法,如下图:

进入到github中提示的页面,现在环境Ubuntu 18.04对应的页面地址如下:

 首先输入如下命令:

sudo add-apt-repository ppa:jhli/libsafecsudo apt-get update

这个貌似需要梯子,不确定,但是在我的Ubuntu 18.04上始终add不成功,问题如下:

然后我转到我电脑的虚拟机(Ubuntu 16.04)里面add成功。

 好吧,为了保证是在Ubuntu18.04上安装的,所以我又装了一个Ubuntu 18.04的虚拟机:

 继续按照上面的步骤到安装libsafec。

add好之后,update,然后在安装libsafec:

sudo apt-get update
sudo apt-get install libsafec-dev

 现在就安装成功了,如下图所示:

再次cmake:

cmake -DRELEASE=ON -DCMAKE_INSTALL_PREFIX=/ ..

 cmake成功之后,开始编译:

make -j all

 安装:

sudo make install

在终端输入 ipmctl 得到下图所示结果:

至此,安装成功

二、简洁版

ipmctl:

在上面的网址中,下载ipmctl代码,解压到要安装该工具的主机中,解压然后进入到ipmctl的目录中。

vi CMakeLists.txt

 将 CMakeLists.txt 第43行的:

if(NOT GIT_FOUND OR ${GIT_RETURN_CODE})

 更改为:

if(NOT GIT_FOUND OR GIT_RETURN_CODE)

 更改完成后依次输入如下命令,如果一次没安装成功,那么多试几次:

sudo apt-get update
mkdir output && cd output
sudo apt install cmake
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install asciidoctor
sudo apt-get install asciidoc
sudo gem install asciidoctor-pdf --pre
sudo apt-get install libndctl-dev
sudo apt-get install git

 这个可能需要梯子:

sudo add-apt-repository ppa:jhli/libsafecsudo apt-get update
sudo apt-get install libsafec-dev

 然后再进行cmake、编译、安装~

cmake -DRELEASE=ON -DCMAKE_INSTALL_PREFIX=/ ..
make -j all
sudo make install

 最后验证:

ipmctl

安装这个可是真的费了我一些功夫,大家在安装过程中最好多试验,经过我的一番折腾,最后成功安装~

转载地址:http://yxhxi.baihongyu.com/

你可能感兴趣的文章
Java线程池应用
查看>>
【RefactoringCode】The description of the refactoring book
查看>>
十种免费的项目管理工具
查看>>
写MySQL存储过程实现动态执行SQL (转)
查看>>
mysql存储过程中使用临时表
查看>>
hibernate调用mysql存储过程
查看>>
【MongoDB】Download the mongoDB
查看>>
【MongoDB】Installation of MongoDB
查看>>
【MongoDB】Configure a Windows Service for MongoDB
查看>>
mysql锁表机制分析
查看>>
MySQL的锁表问题
查看>>
MySQL数据库InnoDB存储引擎中的锁机制
查看>>
结合使用 MongoDB 和 Django
查看>>
PyMongo基本使用
查看>>
设计模式六大原则(3):依赖倒置原则
查看>>
设计模式六大原则(2):里氏替换原则
查看>>
设计模式六大原则(1):单一职责原则
查看>>
设计模式六大原则(6):开闭原则
查看>>
设计模式六大原则(4):接口隔离原则
查看>>
设计模式六大原则(5):迪米特法则
查看>>