CentOS 5.4 64bit
メディアチェック後,インストール開始
「システムクロックでUTCを使用」のチェックは外した
追加リポジトリにチェックを入れると固まるので,入れない.
NTPサーバ名: ntp.nict.jp
インストール完了後再起動でとりあえずOK
システム→設定→ネットワークのプロキシ で設定可能
bashからsuでルートにログイン
/usr/sbin/visudo
でsudo設定ファイルにアクセス viなので,「i」キーで編集開始
## Allow root to run any commands anywhere root ALL=(ALL) ALL
の下に
hase ALL=(ALL) ALL
を追記 エスケープキーを押して編集モードから抜ける
:wq
で変更を保存して閉じる
システム→設定→キーボード→レイアウトのオプション Ctrl key positionでSwap Ctrl and CapsLock を選択し閉じる
言語バーを右クリックして,「SCIMを設定」を選択する。
フロントエンド→全体設定→オプション
SCIMの再起動を促されるが,コマンドが分からなかったので,マシンを再起動した.
システム→管理→セキュリティレベルとファイアーウォールの設定でsambaにチェックを入れる.
ユーザ(既存)を追加
pdbedit -a hase
sambaのパスワードを設定
[hase@hasegawa02 ~]$ smbpasswd Old SMB password: New SMB password: Retype new SMB password: Password changed for user hase
ドライバインストールには,kernel-develが必要なので,
sudo yum install kernel-devel
で入れておく.
http://jp.download.nvidia.com/XFree86/Linux-x86_64/195.36.15/NVIDIA-Linux-x86_64-195.36.15-pkg2.run をダウンロードし、実行可能にする。
sudo /sbin/init 3
でXを切り、改めてルートでログインする。
cd DownloadDir sh ./NVIDIA-Linux-x86_64-195.36.15-pkg2.run
yesばっかり選べばよい. 終わったら再起動し、
reboot now
Xを使う設定に戻す。
/sbin/init 5
元のユーザでログインし、
nvidia-settings
でNVIDIAの管理面画が出てくることを確認する。
http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/cudatoolkit_2.3_linux_64_rhel5.3.run をダウンロードし、実行可能にする。
sh cudatoolkit_2.3_linux_64_rhel5.3.run
インストールディレクトリが見付からない、作成できないと怒られるので、sudoで実行
sodo sh cudatoolkit_2.3_linux_64_rhel5.3.run
経過省略
パスを作れと言われている。現在のパスを確認
echo $PATH
パスを追加する。
vi ~/.bashprofile
のパスの部分を以下のように書き換えた。
PATH=$PATH:$HOME/bin:/usr/local/cuda/bin:/usr/local/cuda/lib64
保存後、変更を適用する
source .bashprofile
確認
echo $PATH
/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/java/jdk1.6.0_19/bin:/home/hase/bin:/home/hase/bin:/usr/local/cuda/bin:/usr/local/cuda/lib64
2010/04/19修正:
PATHへのパス(ややこしいな)はコマンド検索のために使用するので,
/usr/local/cuda/bin
を追加する.
LDLIBRARYPATHへのパスはdll(ダイナミックリンク・ライブラリ)を使うために
/usr/local/cuda/lib64
を追加する.
結局,
vi ~/.bashprofile
の
# User specific environment and startup programs
以下を
PATH=$PATH:$HOME/bin:/usr/local/cuda/bin:/sbin:/user/sbin
LDLIBRARY_PATH=/usr/local/cuda/lib64
export PATH
export LDLIBRARYPATH
に書き換えれば良い感じ.
2010/04/19再修正:
~/.bashprofileへの記入だと,そのユーザがログインした時にしか読み込まないので,
複数ユーザで使いたい場合,それぞれの~/.bashprofileに書き込む必要がある
(ついでに書いておくと,~/.bashrcだとシェル起動毎に読み込まれる).
今後,学生も含めて何人かが使用することになりそうなので,以下の内容を
/etc/profileの末尾に書き込んでおく(root権限が必要).
# For CUDA(2010/04/19) export LD_LIBRARY_PATH=/usr/local/cuda/lib64 export PATH=$PATH:/usr/local/cuda/bin export MANPATH=$MANPATH:/usr/local/cuda/man
上から順に,dll(ダイナミックリンク・ライブラリ)へのパス,コマンド検索パス, マニュアルのパスだそーです(青木・額田:はじめてのCUDAプログラミング,p.220より).
source /etc/profile
で設定内容を適用.
bashの環境変数の設定についてはhttp://www.atmarkit.co.jp/flinux/rensai/theory09/theory09b.htmlが分かりやすい.
http://developer.download.nvidia.com/compute/cuda/2_3/sdk/cudasdk_2.3_linux.run をダウンロードし,一般ユーザでインストール(shコマンド)する. インストール先を聞かれるが,デフォルト
~/NVIDIA_GPU_Computing_SDK
で良いならEnterキーを押せばよい.
インストール完了後,コンパイルする必要がある。
[hase@hasegawa02 ~]$ cd ~/NVIDIA_GPU_Computing_SDK/C [hase@hasegawa02 C]$ make
したところ、
make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります ./../common/inc/paramgl.h:24 から include されたファイル中, src/paramgl.cpp:19 から: ./../common/inc/GL/glut.h:60:20: error: GL/glu.h: そのようなファイルやディレクトリはありません make[1]: *** [obj/release/paramgl.cpp.o] エラー 1 make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make: *** [lib/libparamgl.so] エラー 2
と言われて、コンパイルできない。
/home/hase/NVIDIAGPUComputingSDK/C/common/inc/paramgl.hの24行目でインクルードしようとしている
glu.hというファイルが無い!と怒られているので,
glu.hで検索してみる.
nvidiaのフォーラムhttp://forums.nvidia.com/lofiversion/index.php?t30464.htmlに
似たよーなエラーが出ている人がいた。freeglutが必要そうなので、
sudo yum install freeglut freeglut-devel
でインストールする。
もう一度makeすると、
[hase@hasegawa02 C]$ make
make[1]: ディレクトリ /home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります
make[1]: ディレクトリ
/home/hase/NVIDIAGPUComputingSDK/C/common' から出ます
make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります a - obj/release/paramgl.cpp.o a - obj/release/param.cpp.o make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります src/rendercheck_gl.cpp:54: 警告: unused parameter ‘bQAReadback’ src/rendercheck_gl.cpp:54: 警告: unused parameter ‘bUseFBO’ src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::PGMvsPGM(const char*, const char*, float, float)’: src/rendercheck_gl.cpp:144: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::PPMvsPPM(const char*, const char*, float, float)’: src/rendercheck_gl.cpp:190: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp:183: 警告: unused variable ‘src_data’ src/rendercheck_gl.cpp:183: 警告: unused variable ‘ref_data’ src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::compareBin2BinUint(const char*, const char*, unsigned int, float, float)’: src/rendercheck_gl.cpp:226: 警告: フォーマットへの引数が少なすぎます src/rendercheck_gl.cpp:228: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp: In member function ‘virtual bool CheckRender::compareBin2BinFloat(const char*, const char*, unsigned int, float, float)’: src/rendercheck_gl.cpp:288: 警告: フォーマットへの引数が少なすぎます src/rendercheck_gl.cpp:290: 警告: フォーマットへの引数が多すぎます src/rendercheck_gl.cpp: At global scope: src/rendercheck_gl.cpp:518: 警告: unused parameter ‘Bpp’ src/rendercheck_gl.cpp:545: 警告: unused parameter ‘width’ src/rendercheck_gl.cpp:545: 警告: unused parameter ‘height’ src/rendercheck_gl.cpp:545: 警告: unused parameter ‘Bpp’ src/rendercheck_gl.cpp:560: 警告: unused parameter ‘width’ src/rendercheck_gl.cpp:560: 警告: unused parameter ‘height’ src/rendercheck_gl.cpp:560: 警告: unused parameter ‘Bpp’ src/rendercheck_gl.cpp:702: 警告: unused parameter ‘width’ src/rendercheck_gl.cpp:702: 警告: unused parameter ‘height’ a - obj/release/rendercheck_gl.cpp.o make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make -C src/clock/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' から出ます make -C src/simpleCUFFT/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' から出ます make -C src/matrixMul/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' から出ます make -C src/fastWalshTransform/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' から出ます make -C src/simpleAtomicIntrinsics/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' から出ます make -C src/dxtc/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' に入ります ./dxtc.cu(101): Advisory: Loop was not unrolled, unexpected control flow construct make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' から出ます make -C src/marchingCubes/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' に入ります marchingCubes.cpp: In function ‘void runAutoTest(int, char**)’: marchingCubes.cpp:327: 警告: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long unsigned int’ /usr/bin/ld: cannot find -lXi collect2: ld はステータス 1 で終了しました make[1]: *** [../../bin/linux/release/marchingCubes] エラー 1 make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' から出ます make: *** [src/marchingCubes/Makefile.ph_build] エラー 2
って出た。
その後,何の気無しにPoderosaから
[hase@hasegawa02 C]$ make
したら,
make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/common' から出ます make -C src/clock/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/clock' から出ます make -C src/simpleCUFFT/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleCUFFT' から出ます make -C src/matrixMul/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/matrixMul' から出ます make -C src/fastWalshTransform/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/fastWalshTransform' から出ます make -C src/simpleAtomicIntrinsics/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/simpleAtomicIntrinsics' から出ます make -C src/dxtc/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' に入ります make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/dxtc' から出ます make -C src/marchingCubes/ make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' に入ります /usr/bin/ld: cannot find -lXi collect2: ld はステータス 1 で終了しました make[1]: *** [../../bin/linux/release/marchingCubes] エラー 1 make[1]: ディレクトリ `/home/hase/NVIDIA_GPU_Computing_SDK/C/src/marchingCubes' から出ます make: *** [src/marchingCubes/Makefile.ph_build] エラー 2
って感じで,marchingCubesまではコンパイル出来た.何で?VNC経由だと何か違うの??と思ったけど, まあいいや.んで,
cannot find -lXi
でググったらhttp://www.atmarkit.co.jp/flinux/rensai/linuxtips/a115makeerror.htmlを見つけた. libXiというパッケージを入れればいいらしい.
rpm -qa | grep libXi
でシステムにlibXiパッケージが入っているかを確認したら,入っていなかった.
[hase@hasegawa02 marchingCubes]$ yum search libXi
で関係するパッケージを探すと,
Loaded plugins: fastestmirror ================================ Matched: libXi ================================= libXi.i386 : X.Org X11 libXi ランタイムライブラリ libXi.x86_64 : X.Org X11 libXi ランタイムライブラリ libXi-devel.i386 : X.Org X11 libXi 開発パッケージ libXi-devel.x86_64 : X.Org X11 libXi 開発パッケージ libXinerama.i386 : X.Org X11 libXinerama ランタイムライブラリ libXinerama.x86_64 : X.Org X11 libXinerama ランタイムライブラリ libXinerama-devel.i386 : X.Org X11 libXinerama 開発パッケージ libXinerama-devel.x86_64 : X.Org X11 libXinerama 開発パッケージ
とあるらしい.
[hase@hasegawa02 marchingCubes]$ sudo yum install libXi libXi-devel
さっきこけたmarchingCubesディレクトリに入ってmake
[hase@hasegawa02 marchingCubes]$ make /usr/bin/ld: cannot find -lXmu collect2: ld はステータス 1 で終了しました make: *** [../../bin/linux/release/marchingCubes] エラー 1
こんどはXmu関連のパッケージ「libXmu」が必要らしい.
[hase@hasegawa02 marchingCubes]$ sudo yum install libXmu libXmu-devel
再度makeしたら無事にコンパイル出来た.良かった良かった.
改めて
cd ~/NVIDIA_GPU_Computing_SDK/C
に入ってmakeすると,たくさんの警告を蹴散らしながら雄々しくコンパイルが進んでいく. そして最後に,
Finished building all
と表示され,無事(?)コンパイルが完了した.良かった良かった. 実行ファイルたちは,
~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release
に入っている.
[hase@hasegawa02 release]$ ls 3dfd dxtc simpleAtomicIntrinsics BlackScholes eigenvalues simpleCUBLAS Mandelbrot fastWalshTransform simpleCUFFT MersenneTwister fluidsGL simpleGL MonteCarlo histogram simpleMultiGPU MonteCarloMultiGPU imageDenoising simplePitchLinearTexture SobelFilter lineOfSight simpleStreams SobolQRNG marchingCubes simpleTemplates alignedTypes matrixMul simpleTexture asyncAPI matrixMulDrv simpleTexture3D bandwidthTest matrixMulDynlinkJIT simpleTextureDrv bicubicTexture nbody simpleVoteIntrinsics binomialOptions oceanFFT simpleZeroCopy boxFilter particles smokeParticles clock postProcessGL sortingNetworks convolutionFFT2D ptxjit template convolutionSeparable quasirandomGenerator threadFenceReduction convolutionTexture radixSort threadMigration cppIntegration recursiveGaussian transpose dct8x8 reduction transposeNew deviceQuery scalarProd volumeRender deviceQueryDrv scan dwtHaar1D scanLargeArray
壮観だ.
さっそく,deviceQueryを使ってGPU情報を取得しようとしたところ,
[hase@hasegawa02 release]$ ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery /home/hase/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery: error while loading shared libraries: libcudart.so.2: cannot open shared object file: No such file or directory
と怒られた.http://d.hatena.ne.jp/interleave/20090520/1242750937を参考にして,
[hase@hasegawa02 release]$ cd /etc/ld.so.conf.d/ [hase@hasegawa02 ld.so.conf.d]$ ls R-x86_64.conf qt-x86_64.conf [hase@hasegawa02 ld.so.conf.d]$ sudo vi cuda.conf
を
/usr/local/cuda/lib64
の内容で作成し,
[hase@hasegawa02 ld.so.conf.d]$ sudo ldconfig
でshared libraryのキャッシュを再構築
[hase@hasegawa02 ld.so.conf.d]$ ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery CUDA Device Query (Runtime API) version (CUDART static linking) There are 2 devices supporting CUDA Device 0: "Tesla C1060" CUDA Driver Version: 3.0 CUDA Runtime Version: 2.30 CUDA Capability Major revision number: 1 CUDA Capability Minor revision number: 3 Total amount of global memory: 4294770688 bytes Number of multiprocessors: 30 Number of cores: 240 Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 16384 bytes Total number of registers available per block: 16384 Warp size: 32 Maximum number of threads per block: 512 Maximum sizes of each dimension of a block: 512 x 512 x 64 Maximum sizes of each dimension of a grid: 65535 x 65535 x 1 Maximum memory pitch: 2147483647 bytes Texture alignment: 256 bytes Clock rate: 1.30 GHz Concurrent copy and execution: Yes Run time limit on kernels: No Integrated: No Support host page-locked memory mapping: Yes Compute mode: Default (multiple host threads can use this device simultaneously) Device 1: "GeForce GTS 250" CUDA Driver Version: 3.0 CUDA Runtime Version: 2.30 CUDA Capability Major revision number: 1 CUDA Capability Minor revision number: 1 Total amount of global memory: 1073020928 bytes Number of multiprocessors: 16 Number of cores: 128 Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 16384 bytes Total number of registers available per block: 8192 Warp size: 32 Maximum number of threads per block: 512 Maximum sizes of each dimension of a block: 512 x 512 x 64 Maximum sizes of each dimension of a grid: 65535 x 65535 x 1 Maximum memory pitch: 2147483647 bytes Texture alignment: 256 bytes Clock rate: 1.84 GHz Concurrent copy and execution: Yes Run time limit on kernels: Yes Integrated: No Support host page-locked memory mapping: No Compute mode: Default (multiple host threads can use this device simultaneously) Test PASSED Press ENTER to exit...
無事に動いた.良かった良かった. でも,LDLIBRARYPATHで指定してあるはずなのにな...と思ってbashから
echo $LD_LIBRARY_PATH
したら,パスが通っていない.一瞬何故?と思ったけど,多分,起動させっぱなしのシェルだったから /etc/profileへの設定が反映されていなかったんだろう.
[hase@hasegawa02 ~]$ source /etc/profile [hase@hasegawa02 ~]$ echo $LD_LIBRARY_PATH /usr/local/cuda/lib64
さっき作ったcuda.confを削除して、再度確認
[hase@hasegawa02 ~]$ cd /etc/ld.so.conf.d/ [hase@hasegawa02 ld.so.conf.d]$ ls R-x86_64.conf cuda.conf qt-x86_64.conf [hase@hasegawa02 ld.so.conf.d]$ sudo rm -f cuda.conf パスワード: [hase@hasegawa02 ld.so.conf.d]$ sudo ldconfig [hase@hasegawa02 ld.so.conf.d]$ ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery CUDA Device Query (Runtime API) version (CUDART static linking) There are 2 devices supporting CUDA
きちんと動いている。よかったよかった。
http://centossrv.com/poderosa-public.shtml の通りにやれば大丈夫.ただし,面倒なのでOpenSSHでなく,デフォルトインストールのSSHサーバプログラムを使っている.
JAVA環境のセッティング 参考サイト:http://d.hatena.ne.jp/rdera/20090304/1236144748
jdk-6u19-linux-x64-rpm.binをダウンロードし,
chmod -x jdk-6u19-linux-x64-rpm.bin
で権限を与えて実行する.
JAVA関連の環境変数の指定 /etc/profileに以下を追記
# For JAVA(2010/03/31) export JAVA_HOME=/usr/java/jdk1.6.0_19 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
Eclipse3.4を使いたいが,RPMパッケージが提供されていないので, tarボールを持ってきて解凍する.
公式サイトから eclipse-cpp-ganymede-SR2-linux-gtk.tar.gz をダウンロードして解凍するとeclipseフォルダが出来るので,これを /usr/local/eclipseに突っ込む.これだけでOK.
日本語化はPleiadesを使う. pleiades-1.3.0.zipを/usr/local/eclipse/eclipse の中に展開する. readme/eclipse.ini_sample.win.3.4をeclipse.iniに名前変更し,以下を修正。
''-javaagent:/usr/local/eclipse/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar''
ついでに使用するメモリも増やしておく
参考サイト:http://www.02.246.ne.jp/~torutk/cxx/eclipse/memo.html#SEC10
eclipseの起動
/usr/local/eclipse/eclipse/eclipse -vm /usr/java/jdk1.6.0_19/bin/java &
いちいちこんなの打っていられないので,aliasを追加する.
aliasの追加
~/.bashrc
に
alias eclipse='/usr/local/eclipse/eclipse/eclipse -vm /usr/java/jdk1.6.0_19/bin/java &'
を追記する. これでコマンドラインからeclipseと入力すれば起動するようになる。
無事に日本語化されていて嬉しい。
早速新規プロジェクトを作成するが以下のエラーが出てコンパイルできない。
g++: command not found
ので、
yum install gcc-c++
でインストールする。
参考:http://d.hatena.ne.jp/plasticscafe/20080930/1222778825
!!!Hello World!!!
今更だが,実際にプログラム書くのは普段使っているマシンだから, ワークステーションにIDEは要らないような気がする(2010/04/13追記)
cranからRPMを取ってくる.R-2.10.0-2.el5.x86_64.rpm
[hase@hasegawa02 Desktop]$ rpm -ivh R-2.10.0-2.el5.x86_64.rpm 警告: R-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e エラー: 依存性の欠如: R-devel = 2.10.0-2.el5 は R-2.10.0-2.el5.x86_64 に必要とされています libRmath-devel = 2.10.0-2.el5 は R-2.10.0-2.el5.x86_64 に必要とされています
R-develとlibRmath-develが必要と怒られたので,とりあえずcranから R-devel-2.10.0-2.el5.x86_64.rpm を取ってくる.
[hase@hasegawa02 Desktop]$ rpm -ivh R-devel-2.10.0-2.el5.x86_64.rpm 警告: R-devel-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e エラー: 依存性の欠如: R-core = 2.10.0-2.el5 は R-devel-2.10.0-2.el5.x86_64 に必要とされています bzip2-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています gcc-gfortran は R-devel-2.10.0-2.el5.x86_64 に必要とされています libX11-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています pcre-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています tcl-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています tetex-latex は R-devel-2.10.0-2.el5.x86_64 に必要とされています tk-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています zlib-devel は R-devel-2.10.0-2.el5.x86_64 に必要とされています
色々足りないみたいなので,一つ一つ解決していく.
[hase@hasegawa02 Desktop]$ sudo yum install bzip2-devel パスワード: Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.oss.eznetsols.org * base: ftp.oss.eznetsols.org * extras: ftp.oss.eznetsols.org * updates: ftp.oss.eznetsols.org Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package bzip2-devel.i386 0:1.0.3-4.el5_2 set to be updated ---> Package bzip2-devel.x86_64 0:1.0.3-4.el5_2 set to be updated --> Finished Dependency Resolution Dependencies Resolved ====================================================================================== Package Arch Version Repository Size ====================================================================================== Installing: bzip2-devel i386 1.0.3-4.el5_2 base 38 k bzip2-devel x86_64 1.0.3-4.el5_2 base 38 k
中略
Complete!
他のパッケージも同様にインストールする.
R-coreはデフォルトのyumリポジトリにないと思ったから,cranから取ってくる.
wget ftp://ftp.u-aizu.ac.jp/pub/lang/R/CRAN/bin/linux/redhat/el5/x86_64/R-core-2.10.0-2.el5.x86_64.rpm
[hase@hasegawa02 Desktop]$ rpm -ivh R-core-2.10.0-2.el5.x86_64.rpm 警告: R-core-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e エラー: 依存性の欠如: perl(File::Copy::Recursive) は R-core-2.10.0-2.el5.x86_64 に必要とされています xdg-utils は R-core-2.10.0-2.el5.x86_64 に必要とされています
また怒られた. perl(File::Copy::Recursive) って言うくらいだから,perl入れればいいのかと思ったらそうではなくって, perl-File-Copy-Recursiveというrpmパッケージになっているのを入れればよいらしい.
yum install perl-File-Copy-Recursive
でインストールできない場合は,「 perl-File-Copy-Recursive rpm centos el5」とかでググってrpmを 探せばいいと思う.
再度
[hase@hasegawa02 Desktop]$ sudo rpm -ivh R-core-2.10.0-2.el5.x86_64.rpm
でインストール出来た.
[hase@hasegawa02 Desktop]$ sudo rpm -ivh R-devel-2.10.0-2.el5.x86_64.rpm
[hase@hasegawa02 Desktop]$ sudo rpm -ivh libRmath-2.10.0-2.el5.x86_64.rpm 警告: libRmath-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e 準備中... ########################################### [100%] 1:libRmath ########################################### [100%] [hase@hasegawa02 Desktop]$ sudo rpm -ivh libRmath-devel-2.10.0-2.el5.x86_64.rpm 警告: libRmath-devel-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e 準備中... ########################################### [100%] 1:libRmath-devel ########################################### [100%] [hase@hasegawa02 Desktop]$ sudo rpm -ivh R-2.10.0-2.el5.x86_64.rpm 警告: R-2.10.0-2.el5.x86_64.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 97d3544e 準備中... ########################################### [100%] 1:R ########################################### [100%]
以上でインストール完了,多分 起動
[hase@hasegawa02 Desktop]$ R
R version 2.10.0 (2009-10-26) Copyright (C) 2009 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Rは、自由なソフトウェアであり、「完全に無保証」です。 一定の条件に従えば、自由にこれを再配布することができます。 配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。 Rは多くの貢献者による共同プロジェクトです。 詳しくは'contributors()'と入力してください。 また、RやRのパッケージを出版物で引用する際の形式については 'citation()'と入力してください。 'demo()'と入力すればデモをみることができます。 'help()'とすればオンラインヘルプが出ます。 'help.start()'でHTMLブラウザによるヘルプがみられます。 'q()'と入力すればRを終了します。 > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa > q() Save workspace image? [y/n/c]: n
無事に動いた.
StatETのインストールはWindowsとほぼ同じ.
実行→実行構成→Rコンソール→R Configで,Rのホームディレクトリを指定する必要がある. Rを上記の方法でインストールした場合,Rホームディレクトリは
/usr/lib64/R
となっているはずなので,これを用いる.
このまま実行してもエラーが出る.
R終了時に作業スペースを保存するかどうかの設定が必要らしいので,
実行→実行構成→Rコンソール→メインで引数を
–no-save
と与える.
ルータ使用せず、固定IPにするには、
/etc/sysconfig/network-scripts/ifcfg-eth0
を編集する。
編集前
# Intel Corporation 82567LM-2 Gigabit Network Connection DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00:1C:C0:B1:BC:32 ONBOOT=yes
編集後
# Intel Corporation 82567LM-2 Gigabit Network Connection DEVICE=eth0 #BOOTPROTO=dhcp BOOTPROTO=none HWADDR=00:1C:C0:B1:BC:32 ONBOOT=yes DHCP_HOSTNAME=*.ipc.akita-nct.ac.jp IPADDR=*.*.*.* NETMASK=255.255.255.0 GATEWAY=*.*.*.*
編集が終わったら、ネットワークを再起動
/etc/rc.d/init.d/network restart
vnc-serverが入っていることを確認してから,
/etc/sysconfig/vncservers
を編集する.以下の例では,haseというユーザ名でウインドウ番号1にtcp接続する
# VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost" VNCSERVERS="1:hase" VNCSERVERARGS[1]="-geometry 1280x800 -nolisten tcp -nohttpd"
ユーザ毎にパスワードを設定
vncpasswd
でパスワードを2回入力する.VNCサーバ起動後じゃないとダメかもしれない.うろ覚え.
vnc-serverを再起動
sudo /etc/rc.d/init.d/vncserver restart
VNCの接続に使用する(サーバの)ポートを解放する.上記 VNCSERVERS=“1:hase” の数字+5900のポートを使用するので, 「システム→管理→セキュリティレベルとファイアーウォールの設定」を開き, 「その他のポート」でポート5901,プロトコルtcpを追加する.
GNOMEを使いたいので,
~/.vnc/xstartup
を編集する.
twm &
をコメントアウト(#で)して,
vncconfig -iconic &
を
vncconfig -nowin &
に変更する.そして,
exec /etc/X11/xinit/xinitrc
を最終行に追記する.
vncserverを再起動すればGNOMEが使えて、クリップボードが共有できて、日本語入力もできる。素敵。
VNCクライアントは学生時代からReal VNCを使っているので,これを使う. クライアントを起動し,サーバの欄に
IPアドレス:ウインドウ番号(例えば,202.220.0.***:1)
又は
ホスト名:ウインドウ番号(例えば,hasegawa02:1)
と入力してからOKボタンを押すとパスワードを求められるので,vncpasswdで設定したパスワードを入力する.
サスペンドから復帰すると画面が表示されない.
sshでリモート接続する分には問題ないが,画面も見たい.
とりあえずの対処法として,sshでアクセス→vncサーバ起動→vncでリモート接続でしのぐ.
http://www2u.biglobe.ne.jp/~akio-1/linux/centos/server.html#utvpn を参照のこと
公式のスタートアップガイドも用意されている UT-VPNStartupGuideforUNIX.pdf
注意:utvpncmdからUT-VPN Clientに接続する前に,
sudo utvpnclient start
でUT-VPN Clientを起動させておくこと