0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Gentoo Linux と Arch Linux でWRFをビルド

Posted at

Gentoo Linux や Arch Linux で、WRFをビルドしようとすると、2つ問題が発生します

【現象】

1≫ ./configure が失敗します

./configure の中で
 type ifort 2>/dev/null | awk '{print $NF}' | sed -e 's/(//g;s/)//g'
からコンパイラのフルパスを取得するところがあるのですが
 type ifort 2>/dev/null
のところは、localeが日本語だと
 ifort は /opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/ifort です
となります。続く処理で、最後のフレーズから()などを取り除いて取得するので
 です
となります。なお、localeが英語の場合
 type ifort 2>/dev/null
のところは
 ifort is /opt/intel/oneapi/compiler/2021.2.0/linux/bin/intel64/ifort
となるため、正常に動きます

2≫ ./compile em_real >& compile.log が失敗します

ログを見ると、time コマンドがときどき失敗しています
おそらく、mpif90のプロセス終了時に、出力ファイルの
書き出しが完了していないことがあるためと思われます
なぜ time が失敗するとビルドが失敗するのかはわかりませんが

【対策】

A≫ 個別対応
 1≫ localeを英語にする
 2≫ WRFのコンパイル設定、configure.wrfで
   FC = time $(DM_FC)
  のところを
   FC = $(DM_FC)
  と修正する。time はコンパイル時間をログ出力するためのもので
  無くても問題ありません

B≫ スクリプトシェルを dash に交換
  gentoo でも archlinux でも、dash パッケージがあるので追加インストールし
   rm /bin/sh
   ln -s /bin/dash /bin/sh    (gentoo)
   ln -s /usr/bin/dash /bin/sh  (archlinux)
  2021年5月現在、dash では、localeが日本語でも、typeの戻り値が英語で
  なぜか2≫の問題も発生しません
  Ubuntuでは、ver.6から、ログインシェルはbashのまま、スクリプトシェルはdashです

【確認したバージョン】
  gentoo   5.10.27
  arch linux  5.12.3
  WRF     4.3

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?