RPMを使うと/usrにインストールされて既存のコンパイラを置き換えてしまい、まずいので、ソースからコンパイルし、/usr/localにインストールする。
項目 | 情報 |
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から取って来た。
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もインストールされていた。
項目 | 情報 |
Version | 1.2.1 |
URL | http://www-unix.mcs.anl.gov/mpi/mpich/ |
アーカイブタイプ | ソース |
アーカイブ名 | mpich.tar.gz(9322225) |
項目 | 情報 |
Version | 1.2.1 |
URL | http://www-unix.mcs.anl.gov/mpi/mpich/ |
アーカイブ名 | install.ps(386KB) |
%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/にも同じものがある。なぜ?)
項目 | 情報 |
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) |
%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
ヘッダファイル
/usr/X11R6/include/Xm
アーカイブファイル(libXm.a etc.)
/usr/X11R6/lib
項目 | 情報 |
Version | 3.4.2 |
URL | http://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 |
%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
/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と比べたらいずれもファイル数が少ない。
%su
#cd widgets-mesa
#./configure
#make
#exit
/usr/local/lib/にlibMesaGLw.aが追加されたことを確認した。
/usr/local/include/GLにGLwDrawA.hが追加されたことを確認した。
このコンパイラはf90がコンパイルできそうだということで非商用のサポート無しバージョンを試して見ました。最初に断っておきますが、再販またはその他の商用利用を目的としたアプリケーションをこのコンパイラで作成することは許されておりません。そのような目的をお持ちの方は購入して下さい。機能性能は非商用バージョンでも差はないようです。ダウンロードや正確な使用許諾条項はこちらからどうぞ。
現在の石はCeleronの700MHzでVine Linux 2.1 CRなのでコンパイラは"Red Hat 6.2 on IA-32 Processors"向けのものを選択します。ちなみにもう一方のコンパイラは、IA-32プロセッサ上やItaniumプロセッサ上のRed Hat 7.1用です。
項目 | 情報 |
Version | 5.0 |
URL | http://www.intel.com/software/products/compilers/c50/linux/noncom.htm |
アーカイブタイプ | バイナリ |
アーカイブ名 | fc010821rh62.tar(79155200Bytes) |
ウェブでダウンロードのための登録をすると、申告したemailアドレスに"Thank you for registering to download Intel Linux Fortran Compiler 5.0 NonCom ESD 6.2 w/o Lic Bank"というタイトルのメールが送られて来ます。その中のインストールガイドに従います。
即ち、
その続きはhttp://support.intel.com/software/products/compilers/f50/linux/GettingStartedOnLinux_F.pdfに説明があります。
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!
成功です。