粉末X線回折プログラムCatalina対応

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

  • 先週、普段使っているMacbookのOSをCatalina(10.15)にupgradeしたのですが、よく使っている粉末X線回折用プログラムのいくつかで問題等が生じているので、その対応方法を書いておきます。
  • 現在、さらにBig Surにupdateしてますが、特に今のところ問題は起きてません。

対応不可なもの:

  • 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)でした。その後Shape Softwareのウェブページを見たところ、Shape Softwareで販売しているアプリケーションのMac版については64 bit版に更新する予定はないそうです。古いOSを使う方法、WindowsをMacで使う方法などのアドバイスが書かれてました。また、Windows版への乗り換えは安くやってくれるようです。

Last-modified: 2020-12-07 (月) 13:22:00