粉末X線回折法プログラムのCatalina対応・対策 (2019/10/19作成)

  • 先週、普段使っているMacbookのOSをCatalina(10.15)にupgradeしたのですが、よく使っている粉末X線回折用プログラムのいくつかで問題等が生じているので、その対応方法を書いておきます。

対応不可なもの:

  • superflipとEDMAの実行ファイルはCatalinaで動きません。以下のようなメッセージが出て終わり。
    zsh: bad CPU type in executable: ./superflip
  • ただ、superflipはソースコード(f95)が公開されているので、Catalina上でコンパイルすれば使えるようになります。gfortranが動いている環境だと、fftw3をインストールすればコンパイルできます。まあその前にhomebrewの更新、gccのインストールが必要でした。fftw3は> brew install fftwでインストールできる。デフォルトのMakefileだとエラーが出るので、以下のように変える必要がありました。まず、デフォルトではG95を使うことになっているので、そちらはコメントアウトして、gfortranの方を使うようにします。そして、最後のlinklibの行を以下のように変更します。これでコンパイルでき、正常に計算できることを確認しました。
    linklib = -L/usr/local/lib/ -lfftw3f -lm
  • EDMAの方もコンパイル方法を書いておきます。以下のようにMakefileを直しました。FFLAGSはデフォルトのままだとエラーが出ます。下記でも最後エラーが出ますが、コンパイルされたEDMAができているはずです。
    FC = gfortran
    CC = cc
    FFLAGS = -O -C -g -ffpe-trap=invalid,zero,overflow,underflow -fbounds-check

対応可能なもの(私の試した限り):

  • rietan, Dysnomia等のコマンドラインから起動するプログラムは、セキュリティーがいっそう厳しくなったせいで、terminalから実行しようとすると、これまでは出なかったセキュリティーのwarningが出ます。これはGUIのプログラムで以前から出ていたものと同じです。対応も同じで、システム環境設定を開き、「セキュリティとプライバシー」のところで、ダウンロードしたアプリケーションの実行を許可すれば、次回実行した時のダイアログが変わって、実行が可能になります。Catalinaでrietanちゃんと動いてます。

影響ないもの:

  • Vesta, Expo, Foxは問題なく動作しました。ただ、Catalina以前から、Foxは動作におかしいところがあります(ウィンドウが出ないか、遅れる)。

粉末回折以外

  • Catalinaにして唯一全く対応できなかったのは、結晶振動モード計算のVibratz(Shape Software)でした。作者はご高齢だと思うので…

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-10-23 (水) 18:24:29 (48d)