fortran66のブログ

fortran について書きます。

四月馬鹿の日に、Sun からのメールで Fortress が、正式に Ver.1 になりましたと通知があったのですが、Windows では中々動いてくれませんでした。動かせるようにするために2,3環境設定が必要ですので、ここにメモしておきます。

Fortress というのは、アメリカの次世代大型計算機用の並列型言語候補で、IBM社 の X10, Cray社 Chapel とならんで Sun社で開発されておりましたが、昨年度に Fortress のみ米政府より予算が打ち切られて、それを機に Open Source 化したものです。

現在はここが本拠地のようです。
http://projectfortress.sun.com

  • インストールについて

現在の Fortress は Java 上で動くインタープリターです。Java がインストールされている必要があります。

Java 用にコンパイルされた一式の Zip ファイルが、http://projectfortress.sun.com にあります。

さて上述のサイトにはテストとして、以下のようにやってみよと書いてありますが、Windows ではうまく行きません。

unzip fortress-1.0.zip
cd fortress-1.0/ProjectFortress
../bin/fortress hello.fss

原因は fortress.properties という初期設定ファイルがうまく読み込めない為で、多分 DOS/Windows ではディレクトリの区切りが / では無く \ になっているためと思われます。この初期設定ファイルが読み込めないために、型などを定義したライブラリを読み込むことが出来ず、エラーが発生します。

ライブラリのパスを環境変数で指定することで、この問題は解決できます。

set FORTRESS_SOURCE_PATH=d:/fortress/projectfortress/LibraryBuiltin;d:/fortress/Library;d:/fortress/projectfortress/test_library

この様に、3つのディレクトリをライブラリのパスとして登録する必要があります。ここで Fortress は、D:\ に展開されています。また、環境変数としては、\ の代わりに / でパスを区切る必要があります。

また、このほかにソースファイルのパスとしてカレントであっても ./ のようなパス指定が必要になります。つまり、

..\bin\fortress ./hello.fss

このように記述する必要があります。さらに Fortress インタープリタ内では、ファイル名の大文字小文字の違いが意味を持ちますので注意が必要です。

  • Compile について

Fortress のマニュアルを見ると、API のファイルは compile しろとあるのですが、用意されている BAT ファイルではそれが出来ません。

別のシェルファイル(com.sun.fortress.shell.Shell)を呼び出すバッチファイルを用意する必要があります。ここでも大文字と小文字の区別があります。 

java -cp "build;third_party/junit/junit.jar;third_party/xtc/xtc.jar;third_party/jsr166y/jsr166y.jar;third_party/plt/plt.jar" com.sun.fortress.shell.Shell %1 %2 %3 %4 %5 %6 %7 %8 %9




環境変数は Windows 側で設定しておくと便利です。

Fortress言語―マルチコア時代の並列化プログラミング言語

Fortress言語―マルチコア時代の並列化プログラミング言語


この本は立ち読みで十分です。