1. 対象となる症状・エラーメッセージ
これまで正常に動作していたプログラムを実行した際に、
以下のような共有ライブラリの読み込みエラーが出力され、プログラムを実行できない場合があります。
error while loading shared libraries: libmkl_core.so.2: cannot open shared object file: No such file or directory
上記のように、libmkl_core.so.2、libmkl_sequential.so.2、または libmkl_intel_lp64.so.2 などの共有ライブラリが見つからない(cannot open shared object file: No such file or directory)というエラーが出力されます。
- 現在確認されている主な対象アプリケーション:GROMACS(2025.1 等)、OpenMX(3.9.9 等)、GENESIS(2.1.6 等)、Quantum ESPRESSO(pw.x)など
2. 原因について
2026年8月末のシステムアップデートに伴い、システム標準の Intel oneAPI が 2026.1.0 に更新され、
数値計算ライブラリ oneMKL の共有ライブラリファイル名が .so.2 から .so.3(libmkl_core.so.3、libmkl_sequential.so.3、libmkl_intel_lp64.so.3 など)へ変更されました。
旧バージョンの環境でビルドされた一部のアプリケーションは .so.2 ファイルを直接参照するため、
標準の oneAPI 環境を読み込むとライブラリが見つからずエラーが発生します。
3. 解決方法
/mnt/stfs/comp/ 配下に用意されている旧バージョンの「Intel oneAPI 2025.3」環境へ切り替えることで、
正常に実行できるようになります。
ジョブスクリプト内の oneAPI 環境読み込み行を以下のように書き換えて、ジョブを再投入してください。
変更前:
source /opt/oneapi/setvars.sh intel64
変更後:
#source /opt/oneapi/setvars.sh intel64
source /mnt/stfs/comp/oneapi2025.3/setvars.sh intel64
Q1:自分のホームディレクトリでビルド(make)したプログラムでも同じ libmkl_*.so.2 エラーが出るのですが、同じ方法で解決できますか?
A1:はい、解決可能です。
そのプログラムを make した際に使用した旧バージョンの oneAPI の環境設定ファイル(例:source /mnt/stfs/comp/oneapi2025.3/setvars.sh intel64)をジョブスクリプト内で読み込んで実行してください。
Q2:csh / tcsh のジョブスクリプト(#!/bin/csh)を利用している場合はどうすればよいですか?
A2:旧バージョンの環境設定スクリプト(/mnt/stfs/comp/oneapi2025.3/setvars.sh)は bash 専用のため、csh では読み込めません。
以下のマニュアルをご参照の上、ログインシェルを /bin/bash へ変更し、ジョブスクリプトも bash 形式へ修正してから再投入してください。
- AOBA-A、AOBA-B 共通(front にて操作):
マニュアル『鍵作成とログイン方法』5.5節「ログインシェルの確認と変更」 - AOBA-S(sfront にて操作):
マニュアル『サブシステムAOBA-Sの利用法』3.5節「ログインシェルの確認と変更」

