付 SPRNG,rsprngのインストール
Rにてsprngを動かすためのパッケージ rsprng (サイトはここ)のインストールが必要。その前段階として、Linuxでsprngが動くことが必要。そのパッケージがsprng2.0(サイトはここ)。
マルチプラットフォーム対応でLinuxにも対応しているはずだが、コンパイラエラー(など)にて、sprng2.0のインストールで難航中
追記 11/30/2005
SPRNGのコンパイルにあたっては、make.CHOICESファイルにて、コンパイルオプションのセットを使用する。用意されているオプションは CONVEX DEC HP INTEL OK2 SGI SP2 SUN T3E GENERIC があり、それぞれのオプションに対応して、make.NNNファイルが準備されており、細かいオプションが規定されている。
以下を了解したら、make.GENERICファイルをカスタマイズしてやってみよう、とのこと・・・
オプション指定は
- make.CHOICESの方で以下の4つを選ぶ
- プラットフォーム別make.NNNファイルにて以下の項目を選ぶ
- AR = ar #アーカイブコマンド
- ARFLAGS = cr #アーカイバの目印(フラグ)(ライブラリを作成するかすでにアーカイブされたファイルを置き換える)
- RANLIB = ranlib #ライブラリの内容を載せるテーブルを作るために用いる。ranlibが使えない環境の場合には"echo"を指定
- CC = cc #Cコンパイラ
- CLD = $(CC) #Cローダ
- F77 = f77 #FORTRAN77コンパイラ
- F77LD = $(F77) #FORTRAN77ローダ
- FFXN = -DAdd_ #CとFORTRAN wrappersを読み込むがFORTRAN wrappersはCで書かれているので、両者の関数がバッティングする(しうる)。それを避けるためにsufixをつけるための設定
- MPIDEF = -DSPRNG_MPI #MPIの関数を呼び出すための引数、MPIを使うときはこの設定にする
- MPIDIR = -L/usr/lib64 #MPIライブラリへのパス
- MPILIB = -lmpi #MPIライブラリの名前
- CFLAGS = -O2 -D$(PLAT) $(MPIDEF) -D_LONG_LONG -align64 -64 #Cコンパイラの目印(フラグ)
- CLDFLAGS = -align64 -64 #Cローダの目印(フラグ) 64 bit compilation
- FFLAGS = -O2 -align64 $(MPIDEF) -DPOINTER_SIZE=8 -D_LONG_LONG -64 #64 bit compilation #FORTRAN77コンパイラの目印(フラグ)
- F77LDFLAGS = -align64 -64 # FORTRAN77ローダの目印(フラグ)64 bit compilation
- CPP = gcc -E -P $(MPIDEF) -DPOINTER_SIZE=8 -D_LONG_LONG # 64 bit compilation #Cプリプロセッサを呼び出せないFORTRANコンパイラのための設定
- INLINEOPT = -INLINE:must=get_rn_int,get_rn_dbl,get_rn_flt,get_rn_int_simple,get_rn_flt_simple,get_rn_dbl_simple #効率改善オプションのひとつ
- 実行ログ
- 非MPIバージョンのインストール(成功らしい)
- make.CHOICESの設定
- 非MPIバージョンのインストール(成功らしい)
PLAT = GENERIC #MPIDEF = -DSPRNG_MPI #PMLCGDEF = -DUSE_PMLCG #GMPLIB = -lgmp LIB_REL_DIR = lib
-
-
- make.GENERICの設定
-
AR = ar ARFLAGS = cr #If your system does not have ranlib, then replace next statement with #RANLIB = echo RANLIB = ranlib CC = gcc CLD = $(CC) # Set f77 to echo if you do not have a FORTRAN compiler F77 = g77 #F77 = echo F77LD = $(F77) FFXN = -DAdd__ FSUFFIX = F MPIF77 = $(F77) MPICC = $(CC) # To use MPI, set the MPIDIR to location of mpi library, and MPILIB # to name of mpi library. Remove # signs from beginning of next 3 lines. # Also, if the previous compilation was without MPI, type: make realclean # before compiling for mpi. # #MPIDEF = -DSPRNG_MPI #MPIDIR = #MPILIB = # Please include mpi header file path, if needed CFLAGS = -O3 -DLittleEndian $(MPIDEF) -D$(PLAT) # -I/usr/local/mpi/include CLDFLAGS = -O3 FFLAGS = -O3 $(MPIDEF) -D$(PLAT) # -I/usr/local/mpi/include F77LDFLAGS = -O3 CPP = cpp -P
-
- 非MPIバージョンのインストール(未解決)
- make.CHOICESの設定
- 非MPIバージョンのインストール(未解決)
PLAT = GENERIC MPIDEF = -DSPRNG_MPI #PMLCGDEF = -DUSE_PMLCG #GMPLIB = -lgmp LIB_REL_DIR = lib
-
-
- make.GENERICの設定
- MPIライブラリのパスとライブラリ名がうまく渡っていない模様
- make.GENERICの設定
-