« ESXiのデータストアへのファイルアップロード | トップページ | CentOS7の表示言語を日本語から英語に変える »

2020年8月23日 (日)

Spectrum ScaleがCenOS7.7にインストールできない理由

カーネルのバージョン問題がCentOS7.7へのSpectrum Scaleのインストールを阻んでいるようだ。

Spectrum Scaleの導入に先立って以下を実行する必要がある。Kernelのheader.hを参照する必要があるたけだけれど、これが問題を引き起こしているようだ。

# yum install kernel-devel

これを実行することで以下のディレクトリが作られる。
# ls /usr/src/kernels
3.10.0-1127.18.2.el7.x86_64

しかしunameコマンドは違った値を返す。
# uname -r
3.10.0-1062.el7.x86_64

mmbuildgplはunameが返す値と同じ値を期待してBuildを進める。

以下mmbuildgplの出力結果
mmbuildgpl: Building GPL (5.0.4.2) module begins at 2020年 8月 23日 日曜日 11:01:45 JST.
--------------------------------------------------------
Verifying Kernel Header...
kernel version = 31000999 (310001062000000, 3.10.0-1062.el7.x86_64, 3.10.0-1062)
module include dir = /lib/modules/3.10.0-1062.el7.x86_64/build/include
module build dir = /lib/modules/3.10.0-1062.el7.x86_64/build
kernel source dir = /usr/src/linux-3.10.0-1062.el7.x86_64/include
Cannot find a valid kernel header file. One of these files should exist.
 /lib/modules/3.10.0-1062.el7.x86_64/build/include/linux/version.h
 /usr/src/linux-3.10.0-1062.el7.x86_64/include/linux/version.h
 /usr/src/kernels/3.10.0-1062.el7.x86_64/include/generated/uapi/linux/version.h
 /lib/modules/3.10.0-1062.el7.x86_64/build/include/generated/uapi/linux/version.h

期待するディレクトリが無いのでエラーとなる。
とりあえずの対応策として、マニュアルで以下を実行してみる。

# mkdir 3.10.0-1062.el7.x86_64
# cp -r 3.10.0-1127.18.2.el7.x86_64/* 3.10.0-1062.el7.x86_64

# /usr/lpp/mmfs/bin/mmbuildgpl
事前チェックはパスしえmake Worldに進むが、、、、

以下出力結果make[2]: ディレクトリ `/usr/src/kernels/3.10.0-1062.el7.x86_64' に入ります
LD /usr/lpp/mmfs/src/gpl-linux/built-in.o
CC [M] /usr/lpp/mmfs/src/gpl-linux/tracelin.o
CC [M] /usr/lpp/mmfs/src/gpl-linux/tracedev-ksyms.o
CC [M] /usr/lpp/mmfs/src/gpl-linux/ktrccalls.o
CC [M] /usr/lpp/mmfs/src/gpl-linux/relaytrc.o
LD [M] /usr/lpp/mmfs/src/gpl-linux/tracedev.o
CC [M] /usr/lpp/mmfs/src/gpl-linux/mmfsmod.o
LD [M] /usr/lpp/mmfs/src/gpl-linux/mmfs26.o
CC [M] /usr/lpp/mmfs/src/gpl-linux/cfiles_cust.o
In file included from /usr/lpp/mmfs/src/gpl-linux/cfiles.c:61:0,
from /usr/lpp/mmfs/src/gpl-linux/cfiles_cust.c:54:
/usr/lpp/mmfs/src/gpl-linux/kx.c: 関数 ‘reopen_file’ 内:
/usr/lpp/mmfs/src/gpl-linux/kx.c:5743:7: エラー: 関数 ‘file_release_write’ の暗黙的な宣言です [-Werror=implicit-function-declaration]
file_release_write(fP);
^
cc1: some warnings being treated as errors
make[3]: *** [/usr/lpp/mmfs/src/gpl-linux/cfiles_cust.o] エラー 1
make[2]: *** [_module_/usr/lpp/mmfs/src/gpl-linux] エラー 2
make[2]: ディレクトリ `/usr/src/kernels/3.10.0-1062.el7.x86_64' から出ます
make[1]: *** [modules] エラー 1
make[1]: ディレクトリ `/usr/lpp/mmfs/src/gpl-linux' から出ます
make: *** [Modules] エラー 1
--------------------------------------------------------
mmbuildgpl: Building GPL module failed at 2020年 8月 23日 日曜日 11:06:55 JST.

どうやら、インストールした大元のCentOS7.7と後からインストールしたkernel-develのレベルが異なるとCentOS自体がおかしくなる(uname -rが更新したレベルを認識できない)ようだ。

考えられる対策は2つ、いずれもmmbuildgplが正常終了することが確認できた。

  • 1062レベルのkernel-develをインストールする(1062のkernel-devel rpmをダウンロードしてきてインストールする)
  • CentOS7.8をインストールする。

今から古いカーネルレベルにするっていうのも考え物だけれど、Spectrum Scale CSIがRHEL 7.5, 7.6, 7.7までしかサポートしていないので、7.7(1062)で行くってことかなぁ、、、、、

« ESXiのデータストアへのファイルアップロード | トップページ | CentOS7の表示言語を日本語から英語に変える »

ソフトウエア導入」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ESXiのデータストアへのファイルアップロード | トップページ | CentOS7の表示言語を日本語から英語に変える »