Fortranコンパイラ

UNIX超初心者のものです。
Macでfortranをしたいのですが、HPで調べた結果
・Cコンパイラ
・f2c
・fort77スクリプト
が必要とわかりました。
Cコンパイラは付属のCDからインストールできたのですが、
残りの二つがどこにあるかわかりません。
そこで、Finkを使ってインストールしてみたのですが、
この二つをどう設定したら動くのか全くわかりません。
Finkもよくわかっていないのですが…(インストールされた場所すらわかってない)
どなたかMacでFortranを使ってらっしゃるからいらっしゃいますか?どうか助けてください m(__)m

投稿日 2007/07/05 20:11

返信: 21

2007/07/05 20:18 Community User への返信

> ・f2c
f2cはPanther(Jaguarだったかな)までしか使えなかったような…。
> Cコンパイラは付属のCDからインストールできたのですが、
Mac OS Xに入っているのはGNUのcコンパイラ(gcc)ですし、GNUのFortranコンパイラ(g77)を入れては如何ですか?
#私はg77を入れています。
> そこで、Finkを使ってインストールしてみたのですが、
FinkCommanderを使った方がわかりやすいでしょう。FinkCommanderでg77が表示されませんか?
それと、Finkのインストールをする前に、X Code Tools(Finkに必要なもの全て) をインストールしておく必要がありますが、大丈夫ですか。そうそう、Mac OS Xのインストールで、X11をカスタムインストールしておく必要もあったと思います。
追記;
Tigerでもf2c使えますね。
愛媛大学 理学部 物理学科 物性理論研究室 - Programming
さらに追記:
>そこで、Finkを使ってインストールしてみたのですが、
>この二つをどう設定したら動くのか全くわかりません。
インストールは完了したということですね。どう動かないのでしょうか?私はf2cはFinkを使わずに、直接、ターミナルからmakeしたので、Finkでインストールした状態がどうなっているのかはわかりませんが、普通にmakeして、普通に動いた記憶があります。

2007/07/05 20:58 Community User への返信

早速の返事ありがとうございます。
>直接、ターミナルからmake
のやり方を教えていただけませんか?
ftp://netlib.bell-labs.com/netlib/f2c.tarにあるファイルのダウンロードができないんです。
ちなみにgccコマンドを打つと
$ gcc test.f
i686-apple-darwin8-gcc-4.0.1: test.f: Fortran compiler not installed on this system
というメッセージが返ってきます。
さらにfort77コマンドを打つと
$ fort77 test.f
/tmp/fort77-441-1.c:6:17: error: f2c.h: No such file or directory
/sw/bin/fort77: aborting compilation
というメッセージが返ってみます。

2007/07/05 22:03 Community User への返信

> のやり方を教えていただけませんか?
>ftp://netlib.bell-labs.com/netlib/f2c.tarにあるファイルのダウンロードができないんです。
う〜んと、状況がつかめません。makeのやり方自身は先ほど貼ったリンク先にあります。
で、make以前に、ダウンロードできていないのですね。Finkだと、ダウンロードできない場合、幾つかのダウンロードサイトを探すかと思うのですが、Finkでもダウンロードできていないのでしょうか。
時間をおいたりして何度かトライしてもダウンロードできないようなら、f2cは諦めて、g77の方を検討されては如何ですか。
ちなみに、私がf2cを使っていたときは、fort77は使いませんでした。Fortranのソースファイルをf2cでcのソースファイルに変換して、で、gccでコンパイルしていました。

2007/07/06 00:07 Community User への返信

私もg77をお勧めします。
Developer Toolsがインストール済みなら、あとはターミナルから
$ sudo fink install g77
でおしまい。
なお、finkやfinkでインストールしたファイルは、/swの下に入ります。finkをインストールすると、$PATHに/sw/binが追加されているはずで、そこにfink自身もあります。

2007/07/06 06:00 Community User への返信

●f2cのダウンロードについて
サイトにファイルがないのでしょうか?ターミナルでは
ftp> ftp ftp://netlib.bell-labs.com/netlib/f2c.tar
ftp: No address associated with nodename
となりますし、
Firefoxでftp://netlib.bell-labs.com/netlib/f2c.tarをアドレスバーに入れると
警告 550 Cwd failed: ’/netlib/f2c.tar’ does not exitと表示されます。
なので私はFinkでダウンロードしました。
http://www-cmt.phys.sci.ehime-u.ac.jp/?Programming にある
・f2cのmakeについて
$ cp makefile.u makefile
$ make xsum.out
$ make f2c
$ cd ..
これはどのディレクトリ内で実行しても大丈夫なのでしょうか?
makefile.uはどこにあるのでしょうか?
・ libf2cのmakeについて
$ cd libf2c
とありますが、まずlibf2cのディレクトリがありません。
・/usr/local 以下にインストールというのもlocalというディレクトリがありません。
初心者で何もわかっていなくてすみません。m(__)m

2007/07/06 08:07 Community User への返信

どうも、"/netlib.bell-labs.com/netlib/"、アクセス権を見てみると、全くアクセスできない状況になっているようですね。"f2c.tar"も置いていないようです。
> なので私はFinkでダウンロードしました。
Finkでf2cやfort77をインストールしたなら、別途、makeをかける必要は無いはずですが。Finkで、ダウンロードとコンパイルまで成功していますか。
> ●http://www-cmt.phys.sci.ehime-u.ac.jp/?Programming にある
> …(以下略)
これは、f2c,tarを落としてきて、自分でmakeをかけるときのやり方です。

2007/07/06 13:35 Community User への返信

> Finkでf2cやfort77をインストールしたなら、別途、makeをかける必要は無いはずですが。Finkで、ダウンロードとコンパイルまで成功していますか。
もし、Finkでダウンロードしたのみなら、Finkでコンパイルまで行ってください。コンパイルできないようなら、Finkでダウンロードしたf2cやfort77関係のファイルを探し出して、で、makeをかけることになりますね。(どの辺りにあるかはY. Kawabeさんがお書きのmsg # 3.を参照、もしくは、f2cとかf2c.tarとかで検索してみる。)
f2c.tarを解凍すれば、makefile.uやlibf2cが表れるはずです。

2007/07/06 19:27 Community User への返信

藤沢さんもおすすめの http://hpc.sourceforge.net/ には GNU Fortran 95 が PowerPC用とIntel用にコンパイル済みで置いてあります.PPC用しか使ったことはありませんが,インストールは gunzip と tar だけででき,すぐ使えますよ.

2007/07/06 21:08 Community User への返信

みなさんいろいろとアドバイスありがとうございます。
まさにFinkでダウンロードしたのみです。
Finkでコンパイルというのはどのようにしてやるのでしょうか?

2007/07/08 11:42 Community User への返信

Finkですべてできているみたいです。
あるべきファイルがあるべきところにあります。
でもまだできません。
$ f2c a.f
a.f:
でa.cというファイルができるのでf2cは成功しているのかなと思うのですが
$ gcc a.c -lf2c
a.c:6:17: error: f2c.h: No such file or directory
となります。
ちなみにa.fは
c --- a.f ---
PROGRAM A
X=10
Y=2
WRITE(6,*) X+Y, X*Y
STOP
END
c -----------
というプログラムで
a.cを開くと
/* a.f -- translated by f2c (version 20030320).
You must link the resulting object file with the libraries:
-lf2c -lm (in that order)
*/
#include "f2c.h"
と書いてありました。これは正しくコンパイルされているのでしょうか?

2007/07/08 13:11 Community User への返信

> あるべきファイルがあるべきところにあります。
という前提で、
> a.c:6:17: error: f2c.h: No such file or directory
f2c.hが無いって怒られてますねぇ。"/usr/local/include/f2c.h"はあるんですよね。
---------- 追記:----------
"/usr/local/include/"とかにpathは通ってますよね。私がf2cを使っていたのはJaguarの頃で、Finkを使わずに自分でmakeしたので、Finkがpath等も通してくれているのかわかりませんし、また、自分でpathを通したかどうかは、忘れてしまいました。
---------- ここまで ----------
> a.cを開くと
え〜っと、"a.c"には、引用されたコメント文等と、プログラムがCに変換されたソースが入ってますよね。
> -lf2c -lm (in that order)
って指示がありますので、
gcc a.c -lf2c -lm
だとどうなります?

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Fortranコンパイラ

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。