对于安装Geant4的一点心得:
Geant4是由欧洲核子中心开发的一个模拟物理探测器的c++软件平台(framework)。可以应用于粒子与核物理、普通放射源分析、空间、医学等,各个不同的方面。所以我国的很多高校在具体的物理研究中应用得很广泛。但是作为研究生,在安装它的过程中我遇到了很多困难。在一一解决了一些后我有一些心得体会在这里与大家共享。希望大家在得到我的介绍以后能在安装方面少走一些弯路!
1 安装前的一些准备工作
对于一个新手,在安装之前一定要弄清楚以下几点:我的计算机是否具备安装的条件?Geant4的要求的运行环境?以及它的前期安装需要的软件。
Geant4可以在不同系统下运行,但是一般我们有的只有linux和windows。个人认为,windows下面运行起来的速度慢,同时需要安装cygwin和微软的VC7.1(好像对于高版本的geant4非VC7.1不可)所以不推荐。我会在后面大概说说在windows下面安装的细节问题。这里还是linux为主。(用linux吧!它会使你的生活更加……便宜)
首先进入cern.ch/geant4的主页,将你需要的版本的Geant4软件下载下来,空间大概一两百兆的样子。
你需要下载的有:Geant4的源程序,各种数据,以前的版本有四种,现在有五种。只要能看懂英语就没问题!
进入http://proj-clhep.web.cern.ch/proj-clhep/ 下载你用的版本的Geant4对应的clhep下载下来。(刚才进入Geant4的主页看了一下,几天没见,就发行了Geant4.8的版本了!不是我不明白,世界变化快!)
下面我们开始安装clhep,用在linux下面常用的命令:
./configure
make
make install
值得注意的是,你不必要把这个东西安装在usr/local/下面。你可以在configure后面加上—prefix=然后再加上你想要装的目录名称。就可以了!
于是我们成功地做好了前期工作!
在这个过程中一般不会出现什么问题
2 安装要注意的事项
将下载下来的Geant4文件解压缩,把数据文件全部放在一个文件夹里。在Geant4主文件夹里有一个Configure。最好先运行一下./Configure -help,会出现一个说明,你该运行那个命令。一般是:./Configure –build(7.1版本之后)。
接下来一连串回车之后,进入选项
大部分我不想说明了,一般都很简单的问题
有几个需要说明的是:
Do you want to copy all Geant4 headers
in one directory? [y]
最好把头文件拷进一个文件夹里面,以后会有用的。
你需要把安装clhep和数据文件(data)的路径确定下来。
By default 'static' (.a) libraries are built.
Do you want to build 'shared' (.so) libraries?
[n]
在说明编译文件为动态库文件还是静态库文件的时候,需要考虑你以后的需要。是不是想和其他的平台做一个接口之类的。比如,你想用root 的库文件的话,就必须要把自己的库文件设为动态库文件(.so)。
Do you want to build 'global' compound libraries? [n]
Do you want to compile libraries in DEBUG mode (-g)? [n]
我也不知道这个是做什么用的,但是默认一定没错
在后面有很多环境变量的设置,其实大部分都可以直接一个回车。还是看自己的需要。环境变量由主要几个大部分:
1你的运行终端是什么:一律默认,就可以了
2你的可视化软件是什么:常用的有OpenGL,Dawn,Wired3(heprep),各有优缺点,但一般一个就够了
eg:G4VIS_BUILD_OPENGLX_DRIVER
G4VIS_USE_OPENGLX
It is an interface to the de facto standard 3D graphics library,
OpenGL. It is well suited for real-time fast visualization
and prototyping. The X11 version of the OpenGL libraries is
required.
[y]
3你需不需要分析过程:除非你做一个工程,不然不需要
以上的环境变量一般随你怎么设置,都不会影响程序的编译过程,而且你可以在编译后再改。值得注意的是,使用OpenGL 作为可视化的环境变量设置了以后就需要确定你的OpenGL库文件在那个文件夹下面,有可能会导致编译过程中一些错误,不过对于大多数linux系统:redhat, scientific linux,…基本上都可以按默认来。
下面就进入了编译过程,可能会出现各种各样的错误,不过大部分都会与你的clhep有关。仔细检查,路径,版本,以及是否安装成功。
3 运行中的问题
经过了漫长的编译过程,系统会提示你,安装成功!(切记,有时没有成功也会有这样的提示)
Geant4.8以后,在编译完成后要执行:
./Configure –install
这样就把头文件都拷进一个文件夹里面了
然后
./Configure
在这个目录下面就会出现一个env.sh(csh)文件如果你用的是bash 就用.sh文件如果你用的是csh就用.csh文件。命令是:source env.sh(csh)
这样,一般情况下你就可以编译程序了。进入一个例子试试看?
在编译完成后,会生成一个可执行文件。这个文件会自动生成在(如果你没有改变工作目录)$HOME/geant4/bin/$OS/下面。在Geant4.8以后运行路径已经自动加上了这个目录,意味着你可以在任何一个文件夹运行你已经编译好的程序。
如果你在编译的时候选择了用动态库文件,在运行的时候可能会找不到一些.so的文件。不过没关系,你可以把LD_LIBRARY_PATH这个环境变量设置成含有这些文件的路径名。举例说明:
如果你找不到libCLHEP.so你可以export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CLHEP_LIB_DIR(你安装CLHEP的路径,默认为/usr/local/lib)。
如果你运行程序没有出现错误,那么恭喜你可以投入Geant4这个大家庭里了!
在这里你还有很多问题没有解决,比如可视化的问题、分析系统的问题等。甚至你可能连怎么样运行一个程序都不知道。没关系,这都是以后慢慢积累的东西,你可以没有经验,但是不能因为没有经验成为你不去感受的借口!(估计要被人骂唐僧了)
下面说说在windows下安装的一点细节。Cygwin 的安装一定要注意,不要一路默认!
有一个地方如图: