The softwares of K2K (also SK) is managed with CVS & Imake.
K2K CVS repository is
Lines to be added in your login shell for CVS:
(example for tcsh users on neutrino.kek.jp) # for CVS setenv DISTTYPE neutrino setenv EDITOR '/usr/local/bin/mule -nw' alias rsh '/usr/bin/rsh' alias k2krep 'setenv CVSROOT :ext:k2krep@neutrino.kek.jp:/home/k2krep/repository' alias skrep 'setenv CVSROOT :ext:skrep@neutrino.kek.jp:/home/skrep/repository' k2krep alias chkrep 'env | grep CVSROOT' setenv CVS_RSH /usr/bin/rsh setenv CVS_SERVER "env LOGNAME=$LOGNAME cvs"
You need to change CVSROOT environment depending on which software you need. As you see, due to the complicity, three aliases are prepared:(example for bash users) export EDITOR='/usr/bin/X11/emacs -nw' alias rsh='/usr/bin/rsh' alias k2krep='export CVSROOT=:ext:k2krep@neutrino.kek.jp:/home/k2krep/repository' alias skrep=export CVSROOT=:ext:skrep@neutrino.kek.jp:/home/skrep/repository' k2krep alias chkrep='echo CVSROOT is set to: $CVSROOT' export CVS_RSH=/usr/bin/rsh export CVS_SERVER="env LOGNAME=$LOGNAME cvs"
Imake is utility to make 'Makefile'. You do not need botherfull
setting of -L -l, -i, compiler options if you once setup your
site specific definition.
At first you need to setup Imake on your machine.
Please also see instruction of Imake given in here .> cd > mkdir lib > cd lib > skrep > cvs checkout config > cd config Example on CCPS/neutrino etc. > ln -s ./site_definitions/kek.def site.def > ./install.imake
* You need to use gnu-make(gmake) as make.
* How you create your site specific definitions:
to copy from existing .defs with same machine-type may be best.
# to use /KEK/local/bin/as, instead of /bin/as set path=(/KEK/local/bin $path) # do not use perl in KEK/local/bin/perl (v.4) set path = (/KEK/local/perl/perl5/bin $path)
Lines to be added in your login shell for Imake:
(example for neutrino)
If you are just after installing Imake, you need:# CERN lib setenv CERN /cern setenv CERN_LEVEL 97a setenv CERN_ROOT /cern/97a set path=(${CERN}/${CERN_LEVEL}/bin $path) # for IMAKE setenv EXPERIMENT "/u/neutrino/k2k" setenv EXPERIMENT_LEVEL pro setenv EXPERIMENT_ROOT ${EXPERIMENT}/${EXPERIMENT_LEVEL} setenv PACKAGE ${EXPERIMENT} setenv PACKAGE_LEVEL ${EXPERIMENT_LEVEL} setenv PACKAGE_ROOT ${PACKAGE}/${PACKAGE_LEVEL} set path=($path ${EXPERIMENT}/bin ${EXPERIMENT_ROOT}/bin/`Machine`) source ${EXPERIMENT}/bin/imake.cshrc unsetenv PRIVATE_ROOT
Necessary libraries for FGD analyses:
For skam_src installation,k2k/src (k2k specific programs) /atmpd/chgen /skam /inc /src/zbs /iolib /rfa_dummy --- chgen install --- skrep(, or chkrep) cd (go to home directory) mkdir atmpd cd atmpd cvs checkout chgen cd chgen imake_boot ; make install.include ; make install --- skam_inc install --- cd mkdir skam cd skam cvs checkout -r sk98b skam_inc mv skam_inc inc cd inc imake_boot ; make install.include --- skam_src install --- cd .. mkdir src cd src cvs checkout -r sk98b zbs cd zbs imake_boot ; make install.include ; make install cd .. cvs checkout -r sk98b rfa_dummy cd rfa_dummy imake_boot ; make install.include ; make install cvs checkout -r sk98b iolib cd iolib imake_boot ; make install.include ; make install cd ..
should work. This install all libraries in skam_src.cvs checkout -r sk98b skam_src cd skam_src imake_boot ; make World
In root of experiment account,
cd mkdir pro k2krep cvs checkout -r K2K98a k2kinc cvs checkout -r K2K98a k2ksrc cvs checkout -r K2K98a k2kdb --- k2kinc install --- cd k2kinc imake_boot ; make install.include --- k2ksrc install --- cd ../k2ksrc imake_boot ; make World --- for fgscan (will be included in World, in k2k99a)--- cd fgscan imake_boot ; make install.include ; make install ; make fgscan --- for fgsim --- cd ../fgsim imake_boot ; make fgsim
For development of codes, users need to checkout a certain library
into their private work space.
The developped libraries will be installed under 'PRIVATE_ROOT' directory.
For other libs, ones in experiment account will be linked.
Actually, the work will be like..(example for neutrino user) # for IMAKE setenv PRIVATE_ROOT "${home}" alias make 'make PRIVATE=y' # setenv EXPERIMENT "/u/neutrino/k2k" setenv EXPERIMENT_LEVEL pro setenv EXPERIMENT_ROOT ${EXPERIMENT}/${EXPERIMENT_LEVEL} setenv PACKAGE ${EXPERIMENT} setenv PACKAGE_LEVEL ${EXPERIMENT_LEVEL} setenv PACKAGE_ROOT ${PACKAGE}/${PACKAGE_LEVEL} source ${EXPERIMENT}/bin/imake.cshrc set path=($path ${EXPERIMENT}/bin \ ${EXPERIMENT_ROOT}/bin/`${EXPERIMENT}/bin/Machine`) #
cd mkdir work cd work cvs checkout mcsft cvs checkout fgsim cd mcsft (improve something...) imake_boot ; make clean ; make install.include ; make install cd ../fgsim imake_boot ; make fgsim (try to figure out the change is okay or not..)