geant4.9.1在Fedora Core 4上的安装 - 核能革新 ChinaNet
热图推荐
    查看: 6514|回复: 0
    打印 上一主题 下一主题

    geant4.9.1在Fedora Core 4上的安装

    [复制链接]

    39

    主题

    49

    帖子

    152

    积分

    QQ游客

    积分
    152
    跳转到指定楼层
    楼主
    发表于 2015-4-8 09:51:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    geant4官方网站:
    http://geant4.web.cern.ch/geant4/
    以下内容只是根据我的个人操作得到,不一定正确,而且我也是刚接触geant4,十足的外行。
    不对之处,望各位指出。

    geant4在Fedora Core系列上的安装常常在OpenGl那里出问题,原因在于
    其它系统的opengl是装在/usr/X11R6/下,而FC系列却把它装到/usr/下。

    1. Mesa(opengl)的安装
    首先到http://mesa3d.org/上的http://sourceforge.net/project/showfiles.php?group_id=3下载3个压缩包:
    MesaDemos-7.0.3.tar.gz
    MesaGLUT-7.0.3.tar.gz
    MesaLib-7.0.3.tar.gz
    然后在root用户下用tar –zxf解压其中的一个,它就把三个都解压到一个目录下了。
    例如是/root/mesa/Mesa-7.0.3/, 进入该目录make linux-x86。网站上有安装指南。
    如果只写make,它会提供一系列系统叫你选。我们选linux-x86.
    当编译结束后,进入lib,ls -all可以看到:
    lrwxrwxrwx    1 brian    users          10 Mar 26 07:53 libGL.so -> libGL.so.1*
    lrwxrwxrwx    1 brian    users          19 Mar 26 07:53 libGL.so.1 -> libGL.so.1.5.060100*
    -rwxr-xr-x    1 brian    users    3375861 Mar 26 07:53 libGL.so.1.5.060100*
    lrwxrwxrwx    1 brian    users          11 Mar 26 07:53 libGLU.so -> libGLU.so.1*
    lrwxrwxrwx    1 brian    users          20 Mar 26 07:53 libGLU.so.1 -> libGLU.so.1.3.060100*
    -rwxr-xr-x    1 brian    users      549269 Mar 26 07:53 libGLU.so.1.3.060100*
    lrwxrwxrwx    1 brian    users          12 Mar 26 07:53 libglut.so -> libglut.so.3*
    lrwxrwxrwx    1 brian    users          16 Mar 26 07:53 libglut.so.3 -> libglut.so.3.7.1*
    -rwxr-xr-x    1 brian    users      597754 Mar 26 07:53 libglut.so.3.7.1*
    lrwxrwxrwx    1 brian    users          11 Mar 26 08:04 libGLw.so -> libGLw.so.1*
    lrwxrwxrwx    1 brian    users          15 Mar 26 08:04 libGLw.so.1 -> libGLw.so.1.0.0*
    -rwxr-xr-x    1 brian    users      20750 Mar 26 08:04 libGLw.so.1.0.0*
    lrwxrwxrwx    1 brian    users          14 Mar 26 07:53 libOSMesa.so -> libOSMesa.so.6*
    lrwxrwxrwx    1 brian    users          23 Mar 26 07:53 libOSMesa.so.6 -> libOSMesa.so.6.1.060100*
    -rwxr-xr-x    1 brian    users      23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
    libGL is the main OpenGL library (i.e. Mesa).
    libGLU is the OpenGL Utility library.
    libglut is the GLUT library.
    libGLw is the Xt/Motif OpenGL drawing area widget library.
    libOSMesa is the OSMesa (Off-Screen) interface library.
    网站上说
    cd into the Mesa lib/ directory.
    setenv LD_LIBRARY_PATH ${cwd} (if using csh or tcsh shell)
    or,
    export LD_LIBRARY_PATH=${PWD} (if using bash or sh shell)

    就是把当前的库lib设定为变量LD_LIBRARY_PATH。但我认为其实这是root用户的变量,而以后我们用普通用户例如叫geant4时不一定可以进入这个目录,而且到时候这个变量也无效。不过在.bashrc里添加 export LD_LIBRARY_PATH=/root/mesa/Mesa-7.0.3/lib也无妨。

    在lib下可以看到libglut.so和libGL.so等库文件。其实它们也被安装到/usr/lib下了。
    对于header file(头文件)在/usr/include/GL下。例如glu.h和gl.h
    我们把/usr/include/GL移到/usr/X11R6/include/GL下,再把/root/mesa/Mesa-7.0.3/lib下的库文件拷贝一份到/usr/X11R6/lib下。
    这样,库文件,头文件都到/usr/X11R6/下了,以后安装geant4的时候它寻找opengl的时候就会在这里发现opengl,如果不能发现,用户指定就好了。写/usr/X11R6,就是指定geant4的变量OGLHOME=/usr/X11R6。

    2.Qt4的安装
    http://trolltech.com/developer/downloads/qt/x11上下载qt-x11-opensource-src-4.4.0.tar.gz
    其实我用的是qt-x11-opensource-src-4.3.4.tar.gz,呵呵,因为当时没看到4.4.0。
    用root用户解压,tar –zxf qt-x11-opensource-src-4.3.4.tar.gz
    解压时间很长,耐心等待。
    进入目录后
    ./configure
    gmake 时间很长
    gmake install
    Qt will be installed into /usr/local/Trolltch/Qt-4.3.4下。
    Geant4需要qt4,而fc4带的是qt3.3,所以不行。它在/usr/lib/qt-3.3下。
    用env就可以看到QTDIR=/usr/lib/qt-3.3
    我们可以在.bashrc中export QTDIR=/usr/local/Trolltech/Qt-4.3.4


    3.CLHEP的安装

    clhep-2.0.3.1.tar

    假如我在geant4用户下新建立一个文件夹,叫G4install,我把clhep解压到/home/geant4/G4install/clhep-2.0.3.1/2.0.3.1/CLHEP下。
    在最底层的CLHEP目录下终端执行:
    ./configure --prefix /home/geant4/G4install/clhep-2.0.3.1 (有两个破折号dash)
    该目录为底层CLHEP的上两层目录,执行上述命令保证最后生成的bin,include和lib都和2.0.3.1并列。
    然后make
    然后make install
    安装成功,生成bin,include和lib,与2.0.3.1并列。

    4.Geant4 9.1  released 9 May 2008 (patch-02) 的安装

    主程序文件:http://geant4.web.cern.ch/geant4/support/download.shtml上得到source file,选Unix tar format
    数据库文件:有6个data files,下载下来就好。
    预编译库文件:pre-combiled libraries. 它是预先编译好的lib,解压缩后,会有readme和一个lib4.9.1.p02文件夹,文件夹下是Linux-g++目录,里面有111个.a库文件。当安装完geant4,会发现它的lib下也有一个Linux-g++目录,里面是根据用户要求的库文件,这取决与用户安装时候的设定,里面可能有.a和.so文件。

    在G4install下放置geant4.9.1.p02.tar.gz文件,用tar –zxvf geant4.9.1.p02.tar.gz解压到geant4.9.1目录下。
    然后在geant4.9.1里面建立一个data文件夹,把刚下载的6个数据库文件放到里面,并分别解压。

    下一步是Doing the Initial Build
    进入/home/geant4/G4install/geant4.9.1
    ./Configure -build
    开始交互式编译过程
    其实在geant4.9.1下,有隐藏的.config目录,
    在/home/geant4/G4install/geant4.9.1/.config/bin/Linux-g++下有config.sh文件,它记录了整个安装过程。一般来讲,如果不是首次安装,它会问你是否要采用旧的config.sh作为默认选项,如果上次安装出了问题,我建议就不要选它作为默认。写n即可。

    You will be asked a series of questions.
    In most cases, you can just take the default response (by hitting carriage return回车).
    But pay close attention so that you do not accept the default for the following questions:

    When it says:
    Could not find CLHEP installed on this system!
    Please, specify where CLHEP is installed:

    First, confirm that you have installed your CLHEP to
    /home/geant4/G4install/clhep-2.0.3.1
    注意不要把/2.0.3.1/CLHEP写进去,它是底层安装目录,
    而不是安装后的目录/home/geant4/G4install/clhep-2.0.3.1。
    Or wherever you've decided to keep CLHEP.

    Make sure you have lib, bin and include subdirectories in that directory.
    If not, recheck your CLHEP installation.  If so, proceed.

    基本都默认就好了,除了opengl的no改成yes,还有raytracer的no改成yes。
    Take the default for everything else except:

    When it asks about:
    G4VIS_BUILD_OPENGLX_DRIVER
    G4VIS_USE_OPENGLX
    Enter: y
    This tells Geant4 that you want to include the optional OpenGL Visualization driver.

    When it asks about:
    G4VIS_BUILD_RAYTRACERX_DRIVER
    G4VIS_USE_RAYTRACERX
    Enter: y
    This tells Geant4 that you want to include the optional RayTracerX Visualization driver.

    Take the default for everything else.
    但是安装脚本会寻找opengl的位置,有时候能找到,说在/usr/X11R6下,有时候找不到,我们需要指定,写/usr/X11R6。这个在后面可以看到,其实就是指定了OGLHOME=/usr/X11R6
    Opengl被root用户移动到/usr/X11R6下。头文件header files位于/usr/X11R6/include/GL下,而库文件位于/usr/X11R6/lib下。
    有时也会问Qt4在那里,自己指定/usr/local/Trolltech/Qt-4.3.4,这个在后面也可以看到。
    这次对于visualization tools只选了opengl,其余的什么dawn,OpenInventor都不选,以后再说,因为我也不懂。
    最后,会说
    Once all of the questions have been answered, you will be told:
    WARNING: the generated configuration file
    can be edited if necessary!
    You can introduce any change to the configuration file
    /u/ey/perl/geant4/geant4.9.0/.config/bin/Linux-g++/config.sh before the final installation.
    To do so,
    use a shell escape now (e.g. !vi /u/ey/perl/geant4/geant4.9.0/.config/bin/Linux-g++/config.sh).

    Press [Enter] to start installation or use a shell escape to edit config.sh:
    就是说可以现在退出,去编译config.sh文件。如果不修改,则回车开始安装,
    然后编译开始,很长很长时间,几个小时。
    编译过程文件写在 .config/bin/Linux-g++/g4make.log里面。
    最后出现
    ####################################################
    # Your Geant4 installation seems to be successful!  
    # To be sure please have a look into the log file:  
    # /u/ey/perl/geant4/geant4.9.0/.config/bin/Linux-g++/g4make.log  
    ####################################################
    可能装好了。
    然后执行./Configure
    会生成env.csh和env.sh文件。
    现在可以退出终端。
    在geant4.9.1目录下建立一个g4work文件夹,这个文件夹随便建立那里都可以,我建立这里而已。它是作为用户的工作目录的。
    不管网站怎么写的,我们为了方便,不想每次执行geant4都配置环境变量,因此我们修改用户的.bashrc文件。
    在里面添加:
    export G4WORKDIR=/home/geant4/G4install/geant4.9.1/g4work
    export LD_LIBRARY_PATH=/home/geant4/G4install/clhep-2.0.3.1/lib:home/geant4/G4install/geant4.9.1/lib/Linux-g++:/usr/lib:/usr/local/Trolltech/Qt-4.3.4/lib (指定这些目录为库lib的路径)
    当然也可以再加一个$LD_LIBRARY_PATH在所有目录之前,并在等号后面用双引号括起内容。但我发现geant4用户以前并没有定义这个变量,所以加不加无所谓。
    Source /home/geant4/G4install/geant4.9.1/env.sh (写这行以后,每次启动终端,都会显示Geant4的环境变量的)
    Export QTDIR=/usr/local/Trolltech/Qt-4.3.4,其实这一行在安装geant4之前就应该写了。

    退出所有终端,然后开始检验例题。
    按照网站写的就可以了。把examples/extended/analysis下的A01拷贝到g4work下。
    进入后make, 不出问题就没事,我第一次的问题是找不到-1G4Opengl, 所以害得我这么苦的折腾。后来装了这些以后,再运行该例题,可以编译,但结尾说找不到libQtGui.so.4使得不能run生成的exe文件。原来是找不到qt库的问题,后来我就添加了/usr/local/Trolltech/Qt-4.3.4/lib到LD_LIBRARY_PATH下,问题解决了。生成的A01app在g4work/bin/Linux-g++下,执行就好了,完全按网站的操作。但是不一定能看到图像,可能是显示的问题,多试几次就好了,我试了几次才看到,开始都是黑屏,什么都没有。

    转自www.52mc.net
    回复

    使用道具 举报

      关注我们
    • 微信公众号:
    • NuclearNet
    • 扫描二维码加关注

    Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc.

    联系我们|网站声明|中国核网-核能领域第一垂直门户网站

    快速回复 返回顶部 返回列表