3. ライブラリのインストール 3.1 g++のインストール RPMを使うと/usrにインストールされて既存のコンパイラを置き換えてしまい、まずいので、ソースからコンパイルし、/usr/localにインストールする。 3.1.1 ダウンロード
項目 |
情報 |
Version |
2.95.3 |
URL |
http://gcc.gnu.org/
ftp://ftp.gnu.org/pub/gnu/gcc/
http://gcc.gnu.org/install/ |
アーカイブタイプ |
ソース |
アーカイブ名 |
gcc-2.95.3.tar.gz |
一旦watermelonにダウンロードした。ファイルが大きすぎるので、crabのNICを外して、そちらを取り付けて利用した。ついでに
AdvVisual-0.2b.tar.gz 6021829Bytes
AdvTetMesh-0.81b.tar.gz 2057013
もcrabから取って来た。 3.1.2 インストール rootでログイン
%pwd
/root
ここでftpでgcc-2.95.3.tar.gzをゲット
%ls
gcc-2.95.3.tar.gz
%gunzip gcc-2.95.3.tar.gz
%tar -xvf gcc-2.95.3.tar
%ls -F
gcc-2.95.3/
%mkdir gcctmp
%cd gcctmp
%../gcc-2.95.3/configure
%make
%make install これで/usr/localにgcc/g++がインストールされる。 Q:どこでも/usr/localを指定してないぞ。
A:defaultディレクトリだから大丈夫。
Q:なぜgcctmpが必要か。
A:gnuのインストールガイドによるとソースディレクトリとオブジェクトファイルディレクトリを同じにする場合はテストが不十分だそうだ。gcctmpにオブジェクトが作られる。 確認は/usr/local/binや/usr/local/libを見ること。
g77もインストールされていた。 3.2 mpichのインストール 3.2.1 ダウンロード
3.2.2 インストールマニュアル
3.2.3 インストール %su
#cd /root
ここでftpでmpich.tar.gzをゲット #ls
mpich.tar.gz
#gunzip -c mpich.tar.gz > mpich.tar
#tar -xvf mpich.tar
#cd mpich-1.2.1
#./configure --prefix=/usr/local configureの途中でrootのパスワードを聞いてくるのでタイプする。所要時間1分程度。 configureの実行の後で
#echo $PATH
/usr/local/bin:/bin:/usr/bin:...... になっていたので、gcc-2.95.3でコンパイルされたのではないかと考えた。 #make makeは完了したが、途中「allに対して実行するべきではない」というようなメッセージが2回ばかり見られた。 #make install 展開したファイルは/usr/loca/mpich-1.2.1に置いておく。
#cd ..
#mv mpich-1.2.1 /usr/loca/
#exit /usr/loca/mpich-1.2.1/util/machines/machines.LINUX
の中身を確認したらheatが5個書いてあった。(/usr/local/share/にも同じものがある。なぜ?) 3.3 LessTifのインストール 3.3.1 ダウンロード
項目 |
情報 |
Version |
0.92.98(2001/08/01現在最新) |
URL |
http://www.lesstif.org/
ftp.hungry.com |
アーカイブタイプ |
rpm(バイナリ) |
アーカイブ名 |
lesstif-0.92.98-1.i386.rpm(1471137Bytes)
lesstif-clients-0.92.98-1.i386.rpm(34838Bytes)
lesstif-devel-0.92.98-1.i386.rpm(271020Bytes)
lesstif-mwm-0.92.98-1.i386.rpm(94395Bytes) |
3.3.2 インストール %su
#rpm -Uvh lesstif-0.92.98-1.i386.rpm
#rpm -Uvh lesstif-clients-0.92.98-1.i386.rpm
#rpm -Uvh lesstif-devel-0.92.98-1.i386.rpm
#rpm -Uvh lesstif-mwm-0.92.98-1.i386.rpm
#exit 3.3.3 インストールの確認 ヘッダファイル
/usr/X11R6/include/Xm
アーカイブファイル(libXm.a etc.)
/usr/X11R6/lib 3.4 Mesaのインストール 3.4.1 ダウンロード
項目 |
情報 |
Version |
3.4.2 |
URL |
https://www.mesa3d.org/ |
アーカイブタイプ |
ソース |
アーカイブ名 |
MesaLib-3.4.2.tar.bz2(1380805Bytes)
またはMesaLib-3.4.2-tar.gz
MesaDemos-3.4.2.tar.bz2(854130Bytes)
またはMesaDemos-3.4.2-tar.gz |
3.4.2 インストール 3.4.2.1 コアライブラリ %su
#bzip2 -d MesaLib-3.4.2.tar.bz2
#tar -xvf MesaLib-3.4.2.tar
#./configure
creating cache ./config.cache
......
checking whether to use an external (=already-installed) GLUT... no
checking for GLUT source dir in '.' ... configure: error: GLUT sources missing;that is not supported at this point. と変なメッセージが出たが、構わず次に進んだ。 #make linux
#cp lib/* /usr/local/lib/
#mkdir /usr/local/include/GL
#cp include/GL/* /usr/local/include/GL/
#exit 3.4.2.1.1 インストールの確認 /usr/local/lib/にlibGL.so, libGLU.so, libGLw.a等を確認した。
/usr/local/include/GLにMakefile.am, Makefile.in, amesa.h,gl.h等21ファイルを確認した。
capellasのMesa3.2と比べたらいずれもファイル数が少ない。 3.4.2.2 Mesaウィジェット %su
#cd widgets-mesa
#./configure
#make
#exit 3.4.2.2.1 インストールの確認 /usr/local/lib/にlibMesaGLw.aが追加されたことを確認した。
/usr/local/include/GLにGLwDrawA.hが追加されたことを確認した。 3.5 Intel Fortran Compiler V5.0 for Linuxのインストール このコンパイラはf90がコンパイルできそうだということで非商用のサポート無しバージョンを試して見ました。最初に断っておきますが、再販またはその他 の商用利用を目的としたアプリケーションをこのコンパイラで作成することは許されておりません。そのような目的をお持ちの方は購入して下さい。機能性能は 非商用バージョンでも差はないようです。ダウンロードや正確な使用許諾条項はこちらからどうぞ。 3.5.1 OSとの互換性 現在の石はCeleronの700MHzでVine Linux 2.1 CRなのでコンパイラは"Red Hat 6.2 on IA-32 Processors"向けのものを選択します。ちなみにもう一方のコンパイラは、IA-32プロセッサ上やItaniumプロセッサ上のRed Hat 7.1用です。 3.5.2 ダウンロード
3.2.3 インストール ウェブでダウンロードのための登録をすると、申告したemailアドレスに"Thank you for registering to download Intel Linux Fortran Compiler 5.0 NonCom ESD 6.2 w/o Lic Bank"というタイトルのメールが送られて来ます。その中のインストールガイドに従います。 即ち、
- 任意のディレクトリでtarファイルを解凍します。
- rootになり、解凍によりできたスクリプト./installを実行します。
- インストールスクリプトの指示に従い、インストールディレクトリを入力します。デフォールトは/opt/intel/です。
- メールの本文に書かれたライセンスidをコピー、ペーストしてl_for.licというファイル名で保存します。
- l_for.licを/<install_dir>/licenses に置きます。
その続きはhttp://support.intel.com/software/products/compilers/f50/linux/GettingStartedOnLinux_F.pdfに説明があります。
- ifcvars.csh またはifcvars.shを実行しました。しかし何も実行された気配がありません。cshではだめかも知れないと思って、ifcvars.shを試して みました。こちらは実行されたようです。要するにcshが立ち上がっていれば、ifcvars.cshが実行可能で、そうでなければifcvars.sh が実行可能ということでしょう。
3.2.3.1 インストールの確認 ls /opt/intel/
compiler50/ licenses/
cd compiler50
ls
docs/ flexlm/ ia32/
cd ia32
ls
bin/ include/ lib/
cd bin
ls
f90com* iccfilt* ifc* ifc.pcl* ifcvars.csh* ifcvars.sh* proforder*
fpp* icid* ifc.cfg* ifccem* profmerge* uninstall*
./ifc
./ifc: error in loading shared libraries: libcxa.so.1: cannot open shared object file: No such file or directory これが出るのはifcvars.shまたはifcvars.cshがうまく実行されていないときです。実行後再度
/ifc
ifc: error could not checkout FLEXlm license
checkout failed: Cannot find license file (-1,359:2 "No such file or directory") setenv INTEL_FLEXLM_LICENSE /opt/intel/licenses
をタイプしてから再度
./ifc
ifc: Command line error: no files specified; for help type "ifc -help"
これで、ライセンスは通りました。 helloworld.fという名前のプログラムソースを例えば~/fortranSample/に作ります。
PROGRAM HELLO_WORLD
PRINT *,' Hello World!'
END PROGRAM HELLO_WORLD ./ifc
では
ifc: コマンドが見つかりません.
と言われます。 確かGettingStartedOnLinux_F.pdfによると/opt/intel/compiler50/ia32/bin/ifcvars.sh(.csh)を実行するとIA32ROOT,
、LD_LIBRARY_PATHとINTEL_FLEXLM_LICENSE がちゃんとセットされるはずなのですが、echoで確認するとセットされてません。 setenv PATH /opt/intel/compiler50/ia32/bin/:$PATH
をセットして
ifc helloworld.f
?????program HELLO_WORLD
3 Lines Compiled
ld: cannot open /usr/intel/ia32/lib/crtxi.o:そのようなファイルやディレクトリはありません。 更に、
setenv IA32ROOT /opt/intel/compiler50/ia32
とセットして、
ifc helloworld.f
?????program HELLO_WORLD
3 Lines Compiled
リンクまで成功しました。
a.outが出来てます。
./a.out
??Hello World!
成功です。
このページの内容に関するご質問はこちらまで。
作成者: 株式会社インサイト 三好昭生
|