• ベストアンサー

intel fortran cimpilerでプログラムファイルがコンパイルできない

こんにちは。 当方プログラムに関しては全くの初心者です。 研究で早急に計算プログラムを使用したく、 現在intel fortran cimpiler8.0を使い、とあるソースファイルをコンパイルしたいのですがうまくいきません。 コンパイルの手順としてあっているのか自信がないのですが、 とりあえずやってみて、以下のようにエラーが出ます。 $ source /opt/intel_fc_80/bin/ifortvars.csh bash: /opt/intel_fc_80/bin/ifortvars.csh: line 28: syntax error: unexpected end of file $ ifort /home/ディレクトリのパス/ファイル名.f90 ifort: error: could not find directory in which g++ resides これはどういうことなのでしょうか?? どなたかご教授お願いいたします。 ちなみに、使用しているOSはlinuxのFedora.core1です。

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

> ifort: error: could not find directory in which g++ resides 環境変数GXX_ROOTは設定しましたか? 下記のIntelのサポートページを参考にしてください。

参考URL:
http://www.intel.com/support/performancetools/fortran/linux/sb/cs-017386.htm
mechakiyu
質問者

補足

ご解説ありがとうございます。 現在サポートページを見ながら試しているのですが、苦戦しております; $ g++ --print-search-dirs のコマンドのところで、 bash: g++: command not found とエラーが出ます。 どうやら、GNUコンパイラ?というものがインストールされていないらしいのですが、Fedora Core1にはスダンダートで入っていないものなのでしょうか? ちなみに以下のページよりGCCと言うものをダウンロードして試してみましたが、 こちらもエラーが出てしまいインストールできません・・・。 http://www.yynet.tama.tokyo.jp/~yokota/INSTALL/GCC/

その他の回答 (3)

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.4

#2です。 Intelの"Supported operating systems"のページを見ると、Fedora系でサポートされているのはFedora 7ですね。 また、そのページには ・Linux Developer tools component installed, including gcc, g++ and related tools ・Linux component compat-libstdc++ providing libstdc++.so.5 というのも前提として書かれていますので、条件を満たす環境を用意してからIntel Fortran Compilerをインストールしてください。 #3の方も書いているとおり、Fedora Core 1はかなり古いです。"Supported operating systems"のページには、「リストされていないLinuxディストリビューションでは動くかもしれないし動かないかもしれないが、お勧めはしない」と書かれています。

参考URL:
http://www.intel.com/support/performancetools/fortran/linux/sb/cs-007814.htm
mechakiyu
質問者

お礼

遅れて申し訳ありません。 salsberryさんの紹介してくださった参考URLと同じような日本語マニュアルを発見しました! http://www.xlsoft.com/jp/products/intel/compilers/fcl/10.1/INSTALL.htm fortranのバージョンは違うようですが、ほとんと同じことが載っていました。 現在は”Linux Developer tools component”のGCCのインストールに手間取っています。 この質問内容とは趣旨が違うので新しく質問を投稿することにします。 ありがとうございました。

noname#29459
noname#29459
回答No.3

#1のものです。 Fedora は、Redhatが、できるだけ迅速に、オープンソース界での最新の結果を取り込もうという主旨ではじめたオープンソースプロジェクトです。 Fedora Core1は、実に、2003年の11月のリリースで、いまでも、パッケージマネージャーのダウンロード先があるかは、私は、知りません。今は、Fedora 9が最新。 ともあれ、Yumか、up2dateのマニュアルを読んで、gccおよびg++をインストールすることです。

mechakiyu
質問者

お礼

大分経ってしまいましたが細やかな御指導ありがとうございます。 バージョンが大分古いのですね; ほとんどプログラムを使用するためにfedoraをインストールしたようなものなので、fedora7にアップグレードしました。 yumではgccがインストールできたようですが、g++がインストールできずに、以前のようなエラーがでたままです。

noname#29459
noname#29459
回答No.1

それは、bashで、cshスクリプトを評価してるからでは。 同じ、シェルでも、bashは、b-sh(sh)とコンパチで、cshとは、コンパチではありませんよ。  通常、その手のものは、cshスクリプトではなくて、b-shスクリプトで提供されるのが、定石ですが、なぜ、Intelが、cshスクリプトで提供しているのかは、存じません。  しょうがないので、csh(or tcsh)を起動してから、source以下、同じ手順をやってみましょう。

mechakiyu
質問者

お礼

bash実行中に、cshとだけ入力するとcshスクリプトが起動するのですね。 そうしている場合は $ source /opt/intel_fc_80/bin/ifortvars.csh としてもエラーは出ませんでした。 (どちらにしろ、$ ifort /home/ディレクトリのパス/ファイル名.f90 後のcould not find エラーは結局出てしまいます;) 勉強になりました。

mechakiyu
質問者

補足

すいません、パスを間違えていました正式には、 $ source /opt/intel_fc_80/bin/ifortvars.sh です。これで行うと、 bash: /opt/intel_fc_80/bin/ifortvars.csh: line 28: syntax error: unexpected end of file というエラーは出なくなりました。ifortvars.shのファイルも提供していたようです。 しかし、 $ ifort /home/ディレクトリのパス/ファイル名.f90 の後の ifort: error: could not find directory in which g++ resides と言うエラーは出てしまいます・・・。 ファイル名やパスに間違いはないようなのですが・・・。

関連するQ&A

  • Fortran77 (intel fortran)

    Fortran77のプログラムをIntel Fortran (ifort v14.0.1)でコンパイルした時、以下のワーニングがでます。 remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'. 100 FORMAT(12E9.3) --------------------------^ 100の書式はREAL*8で宣言された変数を書き出す時に使っています。 これは具体的にはどういう問題について警告しているのでしょうか? 環境はCentOS6.5 32bitにて実行しています。 よろしくお願いいたします。

  • MPIを用いたFortranプログラムのコンパイル

    バンド構造などをシミュレーションできるソフトPHASE ver. 4.00を下のサイトからダウンロードし、makeしようとしたのですが出来ません。 http://www.fsis.iis.u-tokyo.ac.jp/result/software/ エプソンダイレクト TP715LR CPU名称 Pentium III CPU動作周波数 700MHz メモリ 128MB OS Fedora Core 5 Linux Fortranコンパイラ intel Fortran Compiler 9.0 for Linux Cコンパイラ gcc MPI mpich-1.2.7 PHASEはMPIを使ったFortranのプログラムで、オブジェクトファイルは作られたのですが、最後のリンクのところで IPO link: can not find -lfmpich というエラーメッセージが出てしまいます。 リンクはifortで、オプションに-lfmpich -lmpichなどを指定しました。 -lのオプションは後に続くディレクトリ名をライブラリの検索先として指定するようなので、どこかにfmpichというディレクトリがあるかどうか調べたのですが存在しませんでした。本来ならばどこかにあるものなのでしょうか。

  • FORTRANとC++の連動について

    私は,Fortranを用いて解析の業務をしている,プログラム初心者です。 購入したのは,Intel Visual Fortran8.0(VF)ですが,Windows環境でコンパイルリンクするには,Microsoft Visual C++ .NET 2003(VC++)が必要ということで,こちらも購入しました。 普段は,Fortranのコンソールで ifort **.f といったコマンドでコンパイルリンクし,実行しているだけです。 これからは,VC++の方に移行していきたいと考えていますが,しばらくはFortranで作成したサブルーチンを有効活用したと考えています。 そこで,VC++ベースのメインプログラムからFortranのサブルーチンを呼び出すプログラムの作成方法,コンパイルリンク方法をご教授ください。よろしくお願いします。 (1)ソースにどう記述するか? void CMyDlg::OnBnClickedOk() { ここで,FORTRANのサブルーチンを呼び出したい。     Fortranなら call subroutine( a, b ) } (2)コンパイルするときは, Visual Studio開発環境で,コンパイル→実行で良いのか? それとも,あらかじめVC++とVFで.objファイルを作成する必要があるのか?

  • fortranでプログラムをつくったのですが

    fortranでプログラムをつくりました。 コンパイルは成功しているのですが、プログラムが途中で止まってしまいます。 そして「segmentation fault」とエラーが出ます。 このエラーは何を意味しているのでしょうか?

  • .cshrc ファイルについて

    新しくUNIXのパソコンを引き継いだのですが、分からない事だらけで困っています。 どうか、教えて下さい。 聞きたいことは 1. ホームディレクトリ下に.cshrcファイルがないけど、作ったほうが良いのか? 2. 作成する場合はどの様にすればよいのか? 3. rootユーザにも『passは通し』た方が良いのか? 等です。 状況などを 説明をさせて頂きます。 『intelフォートラン コンパイラ』をインストールする必要があり、インストールまでは出来た(と思う)のですが、 手引きのページに、以下の記述がありました。 > この後、.cshrc等にpathの設定をする。設定の書き方の例はデフォルトの/opt/intel/fc/9.0にインストールした場合、 > /opt/intel/fc/9.0/bin/ifortvars.csh や > /opt/intel/fc/9.0/bin/ifortvars.sh > に記載されているので、参照すること。 > .cshrcの場合、このifortvars.cshに記載されているのをそのまま.cshrcに加えれば良い。 > 同様に、 > /opt/intel/idb/9.0/bin/idbvars.csh > /opt/intel/idb/9.0/bin/idbvars.sh > の内容を加えることで、デバッガーのpathも通しておく。 .cshrcファイルがどの様な物なのかも分からなく、調べるうちにそのユーザの設定ファイルである事は分かりました。 それで調べたところ、ログインしているユーザーのホームディレクトリには.cshrcファイルがありません。 su に切り替えてfind コマンドで検索したところ、rootフォルダの下に同名のものが1つありました。 また別のページに > 『今回紹介する技は、csh (C シェル、ECC の UNIX 環境でのデフォルトのシェル) の設定ファイルの編集です。 > これを編集するだけで、シェルの挙動を変更して日頃の生活を快適にすることができます。 > ただし、下手をするとログインできなくなるので、注意深く実行してください。 』 > 『.cshrc はホームディレクトリにおいておくものです。もしなければ、作ってください。..』 なんて記述もあり、これから毎日使っていくものなので、作くるべきかな?と思っているのですが、 どのようにしたらいいのか分かりません。 rootフォルダ下の.cshrcファイルをコピーしてきたら良いのでしょうか? 環境は、2台のPCをLANで繋いでおり、それぞれ CentOS が入っています。 普段はマスターでログインし、スレーブはあまり使ってません。 マスターは部屋のサーバーとなっているようです。 ログイン出来なくなるのがとても怖いのです。 自分だけのユーザーを作ったほうが良いのでしょうか? 色々調べてはいたのですが、確信を持てないので質問させて頂きました。(Linux は種類が多いので..) どうか教えて下さい。よろしくお願いいたします。

  • 並列化プログラムのコンパイル環境と実行環境が違う

    fortran77で物理計算をしています。 パソコンが2つあって、一つは個人で使うもので、もうひとつはスパコンです。 個人PCのコンパイラはifort、スパコンはfrtが入っています。 普段は個人PCのifortでコンパイルしてからスパコンに実行ファイルを転送して走らせています。 今のところこれで問題ありません。 このプログラムを並列化して計算時間を短縮しようかなとおもっています。 mpiなりopenMPなりでプログラミングして、(もしくはifortの自動並列化コマンドを使う) (1)ifortでコンパイルしたものをスパコンに送って走らせる方法 と、 (2)スパコン内のfrtでコンパイルして走らせる方法 では 実行速度は劇的に変わるものでしょうか? frtの使い方がイマイチわからずmakeが通らないので出来れば避けたいなと思って質問させていただきました。 勉強不足な点があると思いますが、よろしくお願いします。

  • Fortranで書かれたプログラムのコンパイル方法

    VAX FORTRAN(version 5.0)で書かれたプログラムをWindowsXPで動かしたいのですが、これって可能でしょうか? Windows用のLF95は所有しており、コンソール画面から試したのですが無理なので何か良い方法がありましたらどなたか教えていただけないでしょうか? コンパイル用のバッチファイルとして@COMPILE.comファイルというのがあり、このコマンドを叩けばすべてが動くはずなのですが・・・。

  • fortranプログラムのコンパイルの仕方

    Webからダウンロードした、fortranで書かれたプログラム(contour3dという名前)をRedHat7.1にてコンパイルしようとしています。 詳しいやり方が書いていないので困っています。 ダウンロードしたものを解凍したら5つファイルが出て来ました。 Makefile, contour3d.f, matrix.f, cell.f, subr.f そのうちMakefileの内容は以下のとおりです。 FC=g77 -Wall all: contour3d contour3d: contour3d.o matrix.o cell.o subr.o $(FC) -o $@ contour3d.o matrix.o cell.o subr.o clean: /bin/rm -f *.o *~ 適当に、 g77 -Wall contou3d.f matrix.f cell.f subr.f とやったらa.outが出来ましたが、これであっているのでしょうか?

  • knoppixにintel fortran compilerをインストールできません・・・

    プログラムをつい最近始めたばかりのズブの初心者です。 intel fortran compilerをknoppix(5.3.1)の環境でインストールしようと思い、 http://www.obihiro.ac.jp/~suzukim/masuda/ifc101_install.html の手順にそって行っていました。 しかし、ライセンス文を読み進めたあとに Where do you want to install to? Specify directory starting with '/'. [/opt/intel/fc/10.1.015] : でそのままEnterを押し、インストールが開始され、 Installing... という文字が出るのですが、そのままPCがフリーズしてしまいます。 何度か再起動しやり直しましたが同じでした。 これはkoppixそのままの環境ではインストールできない ということでしょうか? 初歩の初歩だと思うのですが、 どなたかご教授お願いいたします。

  • Fortran コンパイルエラーについて

    Fortranでコンパイルを行ったところ下記のエラーが発生し、原因がわからずにいます。 Fortranに関しては全くの初心者です。 コマンドプロンプト ----------------- C:\>g95 aaa.f90 Warning(115):Line 100 of aaa.f90 is being truncated In file aaa.f90:100  else if(hnum(mnum(ic-1,jc-1)) .eq. 45 .and. basin_num(nr) .eq. anum(mnum(ic-1,jc-1)) .and. znum(mnum(ic-1,jc-1)) .eq. 'obs') then 1 Error:Unexpected junk after ELSE statement at (1) aaa.f90ファイルは他の方が作成したものでそのaaa.exeもあるので、見よう見まねで Fortranをインストールし、試みましたがエラーでEXEが作成されませんでした。 Fortranはv4.1.2(g95 0.93)、使用しているOSはWindows7Professional(32ビット)です。 エラーがでている行のコードしか記述できず申し訳ないのですが、エラーの意味だけでも教えていただけますでしょうか。 ご教示頂きますようよろしくお願いします。

専門家に質問してみよう