3. ライブラリのインストール
3.1 g++のインストール
ADVENTUREベータリリースのインストールと利用のQ&Aの2.5節ADVENTUEのインストールによりますと、GUNのg++ Ver. 2.95.Xをインストールすれば大体動作する、と書いてありました。そこで現在のg++のバージョンをテストして見ました。
%g++ -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-81)
デフォールトのg++ Ver. 2.96のままでADVENTUREをコンパイルしてみることにします。
3.2 mpichのインストール
3.2.1 ダウンロード
3.2.2 インストールマニュアル
3.2.3 インストール
auserでログインして、Netscapeでソースの置き場にアクセスして、ダウンロードしました。保存場所は
~auser/tmp/
です。
%ls
mpich.tar.gz
%gunzip -c mpich.tar.gz >mpich.tar
%tar -xvf mpich.tar
%cd mpich-1.2.2.3
%./configure --prefix=/usr/local/mpich-1.2.2
所要時間1分程度。Fortran90のコンパイラがないと文句を言ってきましたが、並列計算部にFortran90を使ってないので問題はないと思います。
%su
#make >& make.log
所要時間は1分強。logファイルを見ましたがerrorはないようでした。
#make install
標準出力を見る限りはmakeに成功したみたいです。
#ls /usr/loca/
bin doc etc games info lib man mpich-1.2.2 sbin src
展開したファイルは/usr/loca/mpich-1.2.2に置いておきます。
#cd ..
#mv mpich-1.2.1 /usr/loca/mpich-1.2.2/
#exit
/usr/loca/mpich-1.2.2/share/machines.LINUX
の中身を確認したらdhcpで割り当てられたフルネームが5個書いてありました。割り当てられた名前ではなく、こちらで指定したホスト名をつけたいです。
Xを立ち上げてからnetcfgというツールを起動しました。するとrootのパスワードを聞いてきます。Hostnameのところに
hoge.hoge.jp
のようにタイプして、Saveボタンをクリック、Quitボタンをクリック。そしてリブートしたら、プロンプトのホスト名が変わりました。しかし、Xを立 ち上げるときにhoge.hoge.jpのアドレスが見つからないようなことを言ってきます。/etc/hostsに名前を追加すれば良いみたいです。ま た、netcfgを立ち上げて、Hostnameをhogeのみに変更して置きました。これで警告が出なくなりました。
またmachines.LINUXの名前がまずいので/usr/local/mpich-1.2.2/share/machines.LINUXを編集して、hogeを5個記述しました。
実行形式を/usr/local/binに、アーカイブを/usr/local/lib/にコピーしておく。
%su
#cp /usr/local/mpich-1.2.2/bin/* /usr/local/bin/
#cp /usr/local/mpich-1.2.2/lib/* /usr/loca/lib/
#exit
3.3 LessTifのインストール
3.3.1 ダウンロード
3.3.2 インストール
%su
#rpm -Uvh lesstif-0.93.0-1.i386.rpm
Preparing... #################################[100%]
1:lesstif #################################[100%]
#rpm -Uvh lesstif-clients-0.93.0-1.i386.rpm
Preparing... #################################[100%]
1:lesstif-clients #################################[100%]
#rpm -Uvh lesstif-devel-0.93.0-1.i386.rpm
Preparing... #################################[100%]
1:lesstif-devel #################################[100%]
#rpm -Uvh lesstif-mwm-0.93.0-1.i386.rpm
Preparing... #################################[100%]
1:lesstif-mwm #################################[100%]
#exit
3.3.3 インストールの確認
Xm.h等のヘッダファイルが以下のディレクトリに作られているか?
/usr/X11R6/include/Xm/
アーカイブファイル(libXm.la etc.)が以下のディレクトリに作られているか?
/usr/X11R6/lib/
%ls -la /usr/X11R6/
の結果表示されるLessTifディレクトリの作成日付が本日か?
3.4 Mesaのインストール
3.4.0 既にインストールされてるか
/usr/include/GL/GLwDrawA.h
がなければインストールされてません。ちなみに入ってませんでした。
3.4.1 ダウンロード
項目 |
情報 |
Version |
4.0(10/21/2001) |
URL |
https://www.mesa3d.org/
Red Hat 7.1付属のNetscapeではphpのダウンロードページに入ろうとすると
Netscapeが落ちてしまいました。仕方ないのでWindowsマシンでダウンロードしました。 |
アーカイブタイプ |
ソース |
アーカイブ名 |
MesaLib-4.0.tar.bz2(1,558,264Bytes)
またはMesaLib-4.0.tar.gz
MesaDemos-4.0.tar.bz2(869,984Bytes)
またはMesaDemos-4.0-tar.gz |
3.4.2 インストールマニュアル
項目 |
情報 |
Version |
4.0 |
文書名 |
(1)Mesa compilation and installation instructions
(2)名前なし |
入手先 |
MesaLib-4.0.tar.gzを解凍してdocs/の下 |
アーカイブ名 |
(1)docs/INSTALL(7,211B)
(2)widgets-mesa/INSTALL(784B) |
3.4.3 インストール
3.4.3.1 コアライブラリ
%bzip2 -d MesaLib-4.0.tar.bz2
%tar -xvf MesaLib-4.0.tar
バージョン3.1ぐらいからGNU autoconfigと呼ばれる方法でコンパイルとインストールができるようになったそうです。
%cd Mesa-4.0
%./configure --prefix=/usr
更に、
%make
%su
#make install
#exit
3.4.3.1.1 インストールの確認
/usr/lib/に
libGL.so -> libGL.so.1.3.400
libGL.so.1 -> libGL.so.1.3.400
libGLU.so -> libGLU.so.1.3.400
libGLU.so.1 -> libGLU.so.1.3.400
libGLU.a
等を確認しました。本日の日付です。この直後にBubble3dのスクリーンセーバを起動したところ極端に遅くなりました。NVIDIAのドライバーで行った設定が壊れたようです。設定する順序が逆でしたね。
/usr/include/GLに14ファイルを確認しました。
fxmesa.h
gl.h
gl_mangle.h
glext.h
glu_mangle.h
glut.h
glx_mangle.h
glxext.h
osmesa.h
xmesa.h
xmesa_x.h
xmesa_xf86.h
glut.h以外は本日の日付です。
ちゃんと動作するかどうか確認するための手段があるそうです。
%make check
でも行うべきことはありませんというメッセージが多数出ます。
更に、
%make exec
無反応です。なにがなんだか分りません。
3.4.3.2 Mesaウィジェット
%cd widgets-mesa
%./configure
%make
%make demo.gl
立方体の動くデモcubeが表示されました。quitをクリックすると窓が閉じられます。
%make demo.mesa
いろいろ表示されますが、
Error: MesaDrawingArea: mesa: can't get a visual
で実行してくれません。
%make demo.ws
も同様に
Error: MesaWorkstation: mesa: can't get a visual
%make demo.tea
はセグメンテーション違反が出ます。
%su
#make install
/usr/local/include/GL/というディレクトリがないと文句を言ってきます。この下に*.hファイルをコピーすることに失敗したようです。とりあえず/usr/local/include/GL/を作ってやります。その後再度
#make install
を実行しました。今度は成功みたいです。
#exit
3.4.3.2.1 インストールの確認
/usr/local/lib/にlibMesaGLw.aが追加されたことを確認しました。
/usr/local/include/GLに
GLwDrawA.h
MesaDrawingArea.h
など10ファイルが本日付で追加されたことを確認しました。しかし今回のインストールディレクトリは/usr/local/ではなく/usr/なのでまた
%su
#mv /usr/local/lib/libMesaGLw.a /usr/lib/
#mv -R /usr/local/include/GL/* /usr/include/GL/
で正しい位置に移動しました。
3.4.3.3 NVIDIAのGeForce3ドライバの再設定
2.2節の22に示されたライブラリを1つずつ復活させます。多分シンボリックリンクを作るだけで済むと踏んでいるのですが。
/usr/X11R6/lib/modules/drivers/nvidia_drv.o OK
/usr/X11R6/lib/modules/extensions/libglx.so.1.0.1541 OK
/usr/X11R6/lib/modules/extensions/libglx.so -> libglx.so.1.0.1541 OK
/usr/lib/libGL.so.1.0.1541 OK
/usr/lib/libGL.so.1 -> /usr/lib/libGL.so.1.0.1541はありません。
代わりに
/usr/lib/libGL.so.1 -> libGL.so.1.3.400
があります。修正をかけます。
%su
#rm /usr/lib/libGL.so.1
#ln -s /usr/lib/libGL.so.1.0.1541 /usr/lib/libGL.so.1
/usr/lib/libGL.so -> /usr/lib/libGL.so.1はありません。代わりに
/usr/lib/libGL.so -> libGL.so.1.3.400 があります。修正します。
#rm /usr/lib/libGL.so
#ln -s /usr/lib/libGL.so.1 /usr/lib/libGL.so
このリンクコマンドを投入し終わる前にスクリーンセーバが起動したのですが、既にアクセラレーションは利いてました。
/usr/lib/libGLcore.so.1.0.1541OK
/usr/lib/libGLcore.so.1 -> libGLcore.so.1.0.1541 OK
このページの内容に関するご質問はこちらまで。