frt on debian 8.2

履歴

  • 2015-11-09 高橋芳幸 新規作成

インストール

一時ディレクトリ作成.

> mkdir cdrom

CD-ROM をドライブに挿入してマウント.

> sudo mount -o ro /dev/cdrom ./cdrom

インストール

> cd cdrom
> ./install.sh

ライセンス認証

> cd /opt/FJSVplang/bin
> sudo ./setup-license
[sudo] password for yot:
sudo: unable to execute ./setup-license: No such file or directory

何かが足らないのだろう.

とりあえず中身を見てみる.

> sudo lv ./setup-license

ld-linux.so.2 という文字列が見えたので, インストールしてみる.

> sudo apt-get install libc6-i386

> sudo ./setup-license
ライセンスの設定を開始します。

シリアル番号を入力して下さい                 : ######################
期限を入力して下さい                         : ######################
パスワードを入力して下さい(Fortran Compiler) : ######################
パスワードを入力して下さい(C Compiler)       : ######################

ライセンスの設定に成功しました。

パスの設定

edit .cshrc to include following lines.

set path=($path /opt/FJSVplang/bin)
setenv LD_LIBRARY_PATH /opt/FJSVplang/lib64
setenv MANPATH /opt/FJSVplang/man

テスト

> cp /opt/FJSVplang/sample/Fortran/* .

compile_error.f95

> frt compile_error.f95
frt: 致命的エラー: 本製品は32ビット環境では動作しません.

どこかで見たことある. 昔のメールを漁って対策を確認.

ひとまず対策の一部を試み.

> cd /usr
> sudo mkdir /usr/lib64
> cd /usr/lib64
> sudo ln -s /usr/lib/x86_64-linux-gnu/crt1.o
> sudo ln -s /usr/lib/x86_64-linux-gnu/crti.o
> sudo ln -s /usr/lib/x86_64-linux-gnu/crtn.o

再度挑戦.

> frt compile_error.f95
Fortran diagnostic messages: program name(compile_error)
jwd1497i-s  "compile_error.f95", line 18, column 29: 構造型の成分として宣言されてない名前'invalid_component'を,構造体成分で引用することはできません.

OK.

normal_end.f95

> frt normal_end.f95
/usr/bin/ld: -lelf が見つかりません

よくあるやつ.

> sudo apt-get install libelf-dev

再度

> frt normal_end.f95

OK.

run_time_error.f95

> frt run_time_error.f95
> ./a.out
./a.out: error while loading shared libraries: libtrt.so.1: cannot open shared object file: No such file or directory

これもよくあるやつ... ?

LD_LIBRARY_PATH が通ってなかった (別のやつで上書きされてた). .cshrc を修正.

> frt run_time_error.f95
> ./a.out
jwe0111i-e line 28 A(an) READ statement cannot be executed after a(an) WRITE statement (unit= 1).
 error occurs at MAIN__   line 28 loc 0000000000400a97 offset 00000000000000b7
 MAIN__       at loc 00000000004009e0 called from o.s.
taken to (standard) corrective action, execution continuing.
error summary (Fortran)
error number  error level  error count
  jwe0111i         e           1
total error count = 1

OK.

OpenMP_sample.f

> frt -KOMP OpenMP_sample.f
> setenv OMP_NUM_THREADS 4
> setenv OMP_DYNAMIC FALSE
> ./a.out
Thread ID => 0 : OK
Thread ID => 2 : OK
Thread ID => 3 : OK
Thread ID => 1 : OK
Fujitsu Fortran system (OpenMP): OK

OK.

parallel_sample.f

> frt -Kparallel -Et parallel_sample.f
Fortran diagnostic messages: program name(main)
jwd5001i-i  "parallel_sample.f", line 5: このDOループは,並列化されました.(名前:i)
jwd8340i-i  "parallel_sample.f", line 5: このDOループでは, パックド命令が使用 されます.(名前:i)
jwd8211i-i  "parallel_sample.f", line 11: ループを入れ換えました.(行:12)
jwd5001i-i  "parallel_sample.f", line 11: このDOループは,並列化されました.(名 前:j)
jwd5131i-i  "parallel_sample.f", line 17: ループ出口が二つ以上あるため,このDO ループは並列化されません.
> setenv PARALLEL 2
> ./a.out
Fujitsu Fortran system (Parallel) : OK

OK.