macOSでAUTO

2023/06/07

AUTO を比較的最新の macOS に導入する場合の手順を書く。

実は、AUTOのマニュアル(後述)にインストールの仕方はあるのだけれども、結果として現在は不要と思われる 古いインターフェースを動かすために、色々インストールしないといけない風に書かれていて、泥沼にはまりそう。というか、はまった。結果として、それらは不要だとわかったので、そういう意味で価値があるかもしれない。

現状、私が Apple Silicon の mac を持っていないので、Intel ベースとなる。わからないが、恐らく Apple Silicon でも同様だと思う。(ネイティブで動くかどうかは別問題で、とりあえず動くという意味では動くのでは無いかということ。)mac に Xcode がインストールされていることを前提とする。なお、Xcode はインストール後に一度は起動しておくこと。そうしないと、コマンドラインから使う gcc 等のツールがインストールされない、というか、初回起動時にインストールされる。

AUTOのHPは恐らくここが本家なのだと思う。

 http://indy.cs.concordia.ca/auto/

AUTOのソースコードは、 GitHub に置かれているようだ。上記ページからリンクがあるが、

https://github.com/auto-07p

である。最新は上記で、auto-07p をクリックし出てくるページの右上に Code という緑色ボタンがあり、その中の Download ZIP でソースコード全体がダウンロードされる。一方で、リリース版は、

https://github.com/auto-07p/auto-07p/releases/tag/v0.9.3

からダウンロードできる。2021/09/14現在、上記が最新リリースのようだ。


auto-0.9.3.tar.gz


をダウンロードし展開する。ファイルをダブルクリックで良いだろう。その後、Terminal を開き、先の展開したファイルのフォルダ内に移動する。そこで、


./configure 

とする。私の場合、次の様なエラーが最後に出た。


checking for Fortran flag to compile .f90 files... unknown

configure: error: Fortran could not compile .f90 files


Fortran90 が入っていないということだ。AUTO本家のHPに GNU Fortran 95 へのリンクがある。これを入れてみる。

http://gcc.gnu.org/wiki/GFortran

わかりにくいページだが、Downloadとあり、 Binaries から macOS 用をダウンロードする。結局、次のリンクに移動することになる。

https://github.com/fxcoudert/gfortran-for-macOS/releases

ここに、 dmg ファイルがあるので、それをダウンロードする。ここにはARM版、すなわち Apple Silicon 用の物もある。これを使えば、Apple Silicon mac でもネイティブで動くのかも知れない。

この dmg ファイル(2021/09/13現在、gfortran-Intel-11.1-BigSur.dmg)をダブルクリックすると、gfortran.pkg があり、これでインストールする。セキュリティの関係で通常のダブルクリックでは警告が出てインストールできない。自己責任になるが、右クリックして出てくるポップアップの開くから開くことができる。するとインストールされる。

改めて、Terminal で


./configure

とすると、今回は成功するが、最後に次のメッセージがでる。


***************************************************

It was requested that the plotting utility PLAUT04 

be compiled but the proper libraries (Coin3D and   

SoQt or SoXt or Open Inventor and Open Inventor Xt)

and perhaps Motif libraries (libXm) could not be   

found. The compilation of PLAUT04 is disabled.     

***************************************************


これは、分岐図を描くPLAUT04 というソフトウェアが他のライブラリーに依存していることを示している。ただ、PLAUT04を使わなければ動く。PLAUT04は無くてもよい。最新のAUTOはPythonインターフェースを使ったものになっていて、分岐図も matplotlib を利用するようになっている。Terminal で、


make

とするとコンパイルされる。但し、次の様なエラーで停止する場合がある。


gfortran -g -O autlab.f90 utility.o -o ../bin/autlab

ld: library not found for -lSystem

collect2: エラー: ld はステータス 1 で終了しました

make[1]: *** [../bin/autlab] Error 1

make: *** [util] Error 2


その場合には、同じく Terminal 上で、


xcode-select --install


として、何らかの追加ソフトウェアをインストールする。この作業は、良く指摘されているのだが実際何が起こっているのかよくわからない。先のエラーメッセージからすると、Systemという名前のライブラリが少なくともインストールされているようだ。結構な時間がかかるような表示が出るが、放っておくと終了する。終了後改めて make とし最終的に、コンパイルが終わる。

さて、これで AUTO のマニュアルの Turorial の一つをやってみる。先のソースコードをダウンロードした次の場所から、0.9.3 のマニュアル auto.pdf をダウンロードする。

https://github.com/auto-07p/auto-07p/releases/tag/v0.9.3

12章の AUTO Demos : Tutorial の 12.2 cusp をその通りにやってみる。今、コンパイルした場所に居るとして、そこに新たにフォルダを作成する。

mkdir tmp

cd tmp

そして、AUTOを起動する。Pythonインターフェースだ。(この起動コマンドは、自分がフォルダのどこに居るかによる)

../bin/auto

すると次の画面になる。


daishin@mac tmp % ../bin/auto

Python 2.7.16 (default, Jun 18 2021, 03:23:53) 

[GCC Apple LLVM 12.0.5 (clang-1205.0.19.59.6) [+internal-os, ptrauth-isa=deploy on darwin

Type "help", "copyright", "credits" or "license" for more information.

(AUTOInteractiveConsole)

AUTO> 

その後、マニュアルに従うと、次の画面のように分岐図も含めてでた。Python は mac に標準で入っているもので問題ないようだ。気になる場合には、anaconda 等で最新の Python を入れると良いかもしれない。

後は、AUTOの使い方であるが、それはマニュアルを見て欲しい。簡単なチュートリアルを今後載せるかも知れないが、いつになるかはわからない。

追記:2023/06/07

先に ../bin/auto として auto を起動した。他の場所からどうやって起動するか?

起動のコマンドは、AUTO をどこにインストールしたかで起動の仕方が異なる。たとえば、私の場合には、

~/AUTO/auto/07p/bin/auto 

で起動できる。あとは、マニュアルの指示に従えば良い。

ちなみに、この度 Apple Silicon のマシンで上記の手順を辿ったが、無事動いた。ただし、Python は最新のものを anaconda でインストールしてある。最新の macOS では Python が入っていないという話があった様な気がする。