- 追加された行はこの色です。
- 削除された行はこの色です。
まずはSADを使える環境を整える。
*MAIN trunk [#rce2f2e5]
(これだけでできない人は、一番下の詳細版を参照。)~
MAIN trunkのMakefileでは Tkinter付きが基本なので
'''src/README.TclTk-Linux'''を良く読んで、Tcl/Tk ''8.4.7''を入れておくこと
(SAD用の拡張パッチをあてるので、システム付属のTcl/Tkは使えません)
'''src/Makefile.'''''ARCH''中の''TCLINSTALLDIR''を先ほど入れた
Tcl/TkのPREFIXに合わせた状態で
% gmake lib exe
すると、実行ファイル '''obj/'''''ARCH'''''/sad1.exe'''が出来ます
(driver scriptは、'''bin/gs'''に用意されます)
EPICS付きで作る場合は、
% gmake EPICS=(EPICS PREFIX) lib exe
すると、EPICS Channel Access付きの SADが出来ます
*ソースの入手方法については [#e0d5d529]
[[こちら>http://acc-physics.kek.jp/SAD/SADrelease/index.html]]
を参照してください。
*amorita branch [#ee4e9e02]
将来的には、anonymous CVS pserverや公開レポジトリへのアクセスプロトコルが変更される可能性が有ります。
**MAIN trunk [#rce2f2e5]
wgetを先に入れておくと、手間が省ける。
デフォルトではTcl/Tkはdistfiles/の中に置かれる。
(compile with X11 and Tcl/Tk)
% tar zxvf oldsad-amorita-snapshot-576.tar.gz
% cvs -z3 -d :pserver:anoncvs@www-kekb.kek.jp:/Users/cvs/SAD checkout -P oldsad
% cd oldsad-amorita-snapshot-576
Anonymous SVNより(KEK所内ネットワークのみ)
% svn co http://afsad1.kek.jp/SAD/svnroot/trunk oldsad
% cd oldsad
% cp -p sad.conf.sample sad.conf
(Edit sad.conf)~
(行頭の'#'は通常設定すべき箇所)~
(行頭の'##'はオプション)~
(SAD_ROOT=はinstall directory)
% make distclean
% make exe
% make all
% make install-exe install-pkg
[[実際のinstallの様子:http://www-kekb.kek.jp/Documentation/SAD/ttyplayer/tty-sad.html]] (要Javascript)
**K64-1-6 branch [#c8a3a70d]
To get k64-1-6 branch,&br;
% cvs -z3 -d :pserver:anoncvs@www-kekb.kek.jp:/Users/cvs/SAD checkout -r k64-1-6 -P oldsad
Anonymous SVNより(KEK所内ネットワークのみ)
% svn co http://afsad1.kek.jp/SAD/svnroot/branches/k64-1-6 oldsad
GitHub上のOide Repositoryより
% git clone https://github.com/KatsOide/SAD oldsad
**sad.conf [#ya0ab0a3]
*** [#a6a50ee7]
SYS_FC_ABIOPT= -Wall -m64
_USE_GFORTRAN= YES
_USE_G95= NO
COMPILER=GNU
SYS_CC_ABIOPT= -Wall -std=gnu11 -m64
_SYS_COPT_GCC= -Wall -std=gnu11
CC=gcc-mp-4.7
FC=gfortran-mp-4.7
FOPT= -g -O3 -fno-second-underscore -fdollar-ok -fargument-alias -frecursive -fbackslash -std=legacy -fall-intrinsics -mtune=native -march=native -Wall -m64 -fno-range-check -fbacktrace -falign-functions=64 -falign-jumps -falign-loops -falign-labels
COPT= -g -O3 -Wall -std=gnu11 -m64
***MacOS X 10.8 (Mountain Lion) [#ce55f0dc]
USE_GCC=4.8.0
FOPT+=-fno-range-check -frecursive
COPT+=-Wno-variadic-macros
***FreeBSD/amd64 [#q21da88f]
USE_GCC=4.8.0
FOPT+=-fno-range-check
*Extension [#ee32c4f2]
RandomMTを例に示す。
% cd extension
% tar zxvf ../distfiles/RandomMT-Rev.18.tar.gz
% cd RandomMT
(MakefileにSADSRCDIRを定義)
% make
% make install
実際のinstallの様子は以下に。(要Javascript)
*MAIN trunk(詳細版?) [#x2b5e0fa]
RedHat Linux 9.0へのインストールを行います。~
1、ファイルを解凍します。~
2、ソースディレクトリへ移動します。~
cd oldsad/src~
3、README.TclTk-Linuxを読みます。~
cd ../oldsad~
tar -xzf tcl8.4.7-src.tar.gz~
tar -xzf tk8.4.7-src.tar.gz~
と、tcl と tk を解凍します。oldsad下には、~
./ ../ CVS/ KBFrame/ Makefile Packages/ bin/ config/ contrib/~
doc/ extensions/ mk/ obj/ script/ src/ tcl8.4.7/ tk8.4.7/~
ができています。~
4、その通りやってもだめです。(こういうの、いい加減なくしましょうよ……。T_T)~
oldsad/TclTk/Linuxというディレクトリを作り、そこにtcl8.4.7、tk8.4.7をコピーします。~
cd oldsad~
mkdir TclTk~
cd TclTk~
mkdir Linux~
mv ../../tcl8.4.7 .~
mv ../../tk8.4.7 .~
5、ディレクトリは、以下のようになっています。~
./
+-- KBFrame/ KBFrameで使うロゴなどの画像があります。
+-- Packages/ 初期化スクリプト、関数を定義したスクリプトなどがあります。
+-- TclTk/
| +-- Linux/
| +-- tcl8.4.7/
| | +-- ここにはtclのソースファイル
| +-- tk8.4.7/
| +-- ここにはtkのソースファイル
+-- bin/ 実行用のシェルスクリプトがあります。
+-- config/ Main Trunkでは使いません。
+-- contrib/ Main Trunkでは使いません。
| +-- patches/ Main Trunkでは使いません。
| +-- tools/ Main Trunkでは使いません。
+-- doc/
| +-- KBFrame/
| +-- SADTkinter/ TEX形式のマニュアル? WEBからPDFをダウンロードしよう。
| | +-- figures/
| +-- images/
+-- extensions/ Main Trunkでは使いません。
+-- mk/ Main Trunkでは使いません。
+-- obj/
| +-- Darwin/
| +-- FreeBSD/
| +-- HP-UX/
| +-- HP-UX_PA2.0/
| +-- Linux/ ここにコンパイルされたファイルが置かれます。
| +-- LinuxPPC/
| +-- OSF1/
| +-- SunOS/
+-- script/ ベンチマーク、阿弥陀籤(GUI必要)などのサンプルSADスクリプト
+-- src/ ソースファイル。fortranと、一部分C言語
+-- inc/ 各ソースに共通する名称や番号定義ファイル。
+-- sim/
*Imagemagick [#q3c878cf]
画面のHard Copyを得るのにxwdとconvertを用いている。
6、TclTkにパッチを当てます。(パスは変えてくださいね。)~
cd src~
gmake TCLINSTALLDIR=/mnt/users/kentaro/oldsad/TclTk tcltk~
7、ずらずらと色々出て、oldsad/TclTk下に、パッチを当てたSAD用のTclTkができあがります。~
+-- TclTk/
| +-- Linux/
| +-- tcl8.4.7/
| | +-- ここにはtclのソースファイル
| +-- tk8.4.7/
| +-- ここにはtkのソースファイル
| (以下がSADの、SADによる、SADの為のTclTk。)
| +-- bin/
| +-- include/
| +-- lib/
| | +-- tcl8.4/
| | | +-- encoding/
| | | +-- http1.0/
| | | +-- http2.4/
| | | +-- msgcat1.3/
| | | +-- opt0.4/
| | | +-- tcltest2.2/
| | +-- tk8.4/
| | +-- demos/
| | | +-- images/
| | +-- images/
| | +-- msgs/
| +-- man/
| +-- man1/
| +-- man3/
| +-- mann/
8、SAD自体のコンパイルをします。~
oldsad/srcのままで、~
gmake TCLINSTALLDIR=/mnt/users/kentaro/oldsad/TclTk~
9、できました!~
実行形式は oldsad/obj/Linux/ 下にできていて、sad1.exe です。直接呼んでもいいですが、普通はoldsad/bin/gsから呼びます。~
gs lattice_and_command_file.sad~
とします。~
10、EPICSをインストールしたい場合は、MakefileのEPICSのpathを自分で書き換える必要があります。また、EPICSがないのに環境変数でEPICSという変数が定義されていると、EPICS関連のコンパイルの場所でエラーが出るので、SADコンパイル中だけは unsetenv EPICS などで消しておきましょう。Makefileはあちらこちらにありますが、oldsad/src下のMakefile.Linux、Makefileの2つのファイルが、環境変数に関連します。実際にコンパイルするファイル名が羅列されているMakefileは、oldsad/obj/Makefileです。自分でサブルーチンなどを加えた場合は、ここにファイル名を加えます。~
~
なかなか一筋縄でいく気がしないと思いますが、健闘を祈ります!
% tar zxvf ImageMagick-6.x.x.tar.gz
% cd Imagemagick-6.x.x
% env PATH=/bin:/usr/bin:/usr/X11R6/bin ./configure
% env PATH=/bin:/usr/bin:/usr/X11R6/bin make
% sudo env PATH=/bin:/usr/bin:/usr/X11R6/bin make install
*Topdrawer [#k77ef26a]
以下から入手します。
[[binary>http://www.rcnp.osaka-u.ac.jp/~okamura/ftp/pub/index.php?dir=topdrawer/binaries/]],
[[source>http://www.rcnp.osaka-u.ac.jp/~okamura/ftp/pub/index.php?dir=topdrawer/]]
オプション
-tek形式でグラフ表示:-t tek4010
-Bonner Lab.版との互換モード: -b
*Platforms [#jb6c198a]
**MacOSX [#wb0db228]
***MacOSX10.1 [#dcad219f]
+gmp のインストール
$ bzip2 -dc ../archive/gmp-6.0.0.tar.bz2 | tar xvf -
$ cd gmp-6.0.0/
$ ./configure --enable-cxx
$ make
$ make check
# sudo make install
+mpfrのインストール
$ bzip2 -dc ../archive/mpfr-3.1.2.tar.bz2 | tar xvf -
$ cd ../mpfr-3.1.2/
$ ./configure
$ make
$ make check
# sudo make install
+mpcのインストール
$ tar xvf ../archive/mpc-1.0.2.tar
$ cd ../mpc-1.0.2
$ ./configure
$ make
# sudo make install
+gcc のインストール
$ bzip2 -dc ../archive/gcc-4.9.1.tar.bz2 | tar xvf -
$ wget -q -O - ‘https://gcc.gnu.org/bugzilla/attachment.cgi?id=33180’ | patch -p1
$ mkdir obj_gcc-4.9.1
$ cd obj_gcc-4.9.1
$ ../gcc-4.9.1/configure --enable-languages=c,c++,fortran --disable-nls -with-system-zlib --program-sufftix=4.9.1 --infodir=/usr/local/share/info/gcc-4.9.1 -mandir=/usr/local/share/man --libdir=/usr/local/lib/gcc-4.9.1 --with-gxx-include-dir=/usr/local/include/c++/4.9.1 --build=x86_64-apple-darwin14.0.0 CC=gcc CXX=g++
以下のようなshell scriptを作っておくと便利
#!/bin/tcsh
set var = $<
echo gcc-${var}
../gcc-${var}/configure \
--enable-languages=c,c++,fortran \
--disable-nls \
--with-system-zlib \
--program-suffix=-${var} \
--infodir=/usr/local/share/info/gcc-${var} \
--mandir=/usr/local/share/man \
--libdir=/usr/local/lib/gcc-${var} \
--with-gxx-include-dir=/usr/local/include/c++/${var} \
--build=x86_64-apple-darwin14.0.0 \
CC=gcc CXX=g++
$ make bootstrap
$ sudo make install
$ sudo chown -R root:wheel /usr/local/lib/gcc-4.9.1
+SADのインストール
$ cvs -z3 -d :pserver:anoncvs@www-acc-theory.kek.jp:/Users/cvs/SAD checkout -P oldsad
$ cd oldsad
・sad.confを適当に編集。
(Xftを使う場合、/usr/X11R6/bin/xft-configを旧いマックからコピーしておく。)
$ make exe
***MacOSX10.4+gcc-3.4.6 [#e656501d]
Change LIB_SPEC in the gcc/config/darwin.h file
-#define LIB_SPEC "%{!static:-lSystem}"
+#define LIB_SPEC "%{!static:-lSystemStubs -lSystem}"
**SPARC-SunOS5 [#q3575c2e]
Add the flag of -fdollar-ok to FOPT with SUNWspro/CC, in file config/SunOS for oldsad-1.0.9b1. If using CC=gcc, you don't have to modify it.
**Windows+Virtual Box [#lf95e500]
-[[Ubuntu (Kamada, 2011/02/17)>http://acc-physics.kek.jp/SAD/School/SADinstall.htm]]
**WindowsXP [#s96c83f1]
Cygwin g77(v3.4.4)
Remove following lines from mk/sad.obj.mk to remove src/tfNetSemaphore_.c related codes.
OBJ_NetSemaphore=tfNetSemaphore_.o netSemaphore.o
SAD_STATIC_DEF_FUNCS+=NetSemaphore