2011/02/24

pgplot インストール前夜

たとえdebian系linuxのパッケージマネージャにpgplotがあったとしても、
手動でインストールをしよう。
pgplotのような古いツールは古いライブラリを参照するので、
新しくOSをインストールした後に導入すると色々と存在しないことが多い。
なのでシンボリックリンクとか貼り直しが必要。
例:libf2c.so

あらかじめインストールしないといけないパッケージ(付随するパッケージ含む)
gfortran (参照サイトではこれに書き変えてる)
fort77 (g77の代わり。いずれにせよ、古いのでおすすめしない。gfortranでいい)
libx11-dev
libc6-dev

その他、エラーを読んで足りないファイルがある場合は
sudo apt-get install apt-file
sudo apt-file update
sudo apt-file search filename
と入れて必要なファイルが含まれるパッケージを探してインストール。
これ超絶に重要。


参照サイト

環境変数を以下のように設定
csh の場合 setenv PGPLOT_DIR /usr/local/pgplot/
sh,bash の場合 PGPLOT_DIR="/usr/local/pgplot/"; export PGPLOT_DIR
または export PGPLOT_DIR=/usr/local/pgplot/

デバイスに/XWINDOWまたは/XSERVEを使用する場合は更に以下(表示先)を設定
csh の場合 setenv DISPLAY IPアドレス又はマシン名:0.0
sh,bash の場合 export DISPLAY=IPアドレス又はマシン名:0.0

↑のDISPLAYあたりはxubuntu10.10ではうまくいかないかも。
何もしなくても /XSERV は動作した。

cp libcpgplot.a /usr/lib
cp libpgplot.a /usr/lib
cp cpgplot.h /usr/include

linuxでは更に
cp libpgplot.so /usr/lib
これはちゃんとやらないといかんっぽい。

で、このままだとエラーを吐く。

libf2c.so: undefined reference to `MAIN__'
そのときは、
参照
sudo rm /usr/lib/libf2c.so && sudo ln -s /usr/lib/libf2c.a /usr/lib/libf2c.so

前にも書かなかったか?これ・・



追記:2011.07.29

pgplotを組み込む時は、pgplotをコンパイルしたコンパイラーでコンパイルすること。
・・宇宙言語っぽいね。

つまり
f77でコンパイルしたcpgplot.h を組み込むコードはf77でコンパイル
上記f77 をgfortranと変えても良いが、その時はgfortran でコンパイルしないと次のようなエラーを吐くので注意。

undefined reference to なんちゃら

0 件のコメント: