当前位置:数据分析软件安装指南v2.01(中文)-详情
数据分析软件安装指南v2.01(中文)
发布时间:2020-03-02 08:53:47 作者:

Insight-HXMT用户分析软件安装指南[v2.01]  [pdf]

注:以下操作主要针对bash shell用户,如果用户使用其他shell请对命令做相应修改,或者通过网站helpdesk获得技术支持


1. 只安装HXMT用户分析软件(推荐SLC,支持MAC,Ubuntu)

适用于单独安装HXMT用户分析软件,没有安装HEAsoft(Headas)或不与已安装HEAsoft同时使用的用户

(1)下载HXMT分析软件安装包 [download]

(2)解压

          gunzip hxmtsoftv2.01.tar.gz

          tar vxf hxmtsoftv2.01.tar

(3)安装

          cd hxmtsoftv2.01/BUILD_DIR/

          ./configure    (可用--prefix参数指定安装路径,本例中假定安装到/path/to/hxmtsoft/目录下)

          make

          make install

(4)安装本底模块

        详细步骤见第三节

(5)下载和安装CALDB [download]

       下载标定数据库文件并解压

          gunzip CALDB2.01.tar.gz

          tar vxf CALDB2.01.tar

       复制标定数据库到指定目录下(可以自己选择目录,建议复制到hxmtsoft安装后的目录下)

          cp -r  CALDB2.01  /path/to/store/caldb

(6)设置环境变量

      修改~/.bashrc文件,加入以下内容

         export HEADAS=/path/to/hxmtsoft/x86_64-pc-linux-gnu-libc2.12

         export CALDB=/path/to/store/caldb/CALDB2.01

         export CALDBCONFIG=$CALDB/caldb.config

         source $HEADAS/headas-init.sh (Bash shell)

    注意第一行的黑体部分,这段内容会根据不同的操作系统有所变化,修改应该以安装时实际生成的目录为准

提醒:这个安装只包括慧眼卫星的分析软件和少量的ftools,不包括Xspec、Xronos等在内的大部分HEAsoft工具。

2. 与HEAsoft同时安装

适用于同时安装HEAsoft软件包和HXMT数据分析软件。

(1) 下载HXMT分析软件安装包[download]并解压,解压后可以看到:

      ls -1

  • attitude

  • BUILD_DIR

  • CMakeLists.txt

  • demo

  • ftools

  • heacore

  • heagen

  • HEASOFT-INSTALL.TXT

  • heasptools

  • heatools

  • hxmt

  • Release_Notes_6.26

  • tcltk

(2) 按照正常流程下载HEAsoft安装包并解压,需要选择源码安装包;

      (下例中,解压后的安装包位于~/heasoft-6.26/下)

(3) 将hxmt模块(从HXMT分析软件包中)拷贝到HEAsoft中

          cp –r hxmtsoftv2.01/hxmt  ~/heasoft-6.26/

(4) 修改配置文件

          cd ~/heasoft-6.26/BUILD_DIR

    将configure文件中的mpfit_required=no 修改为mpfit_required=yes

(5) 安装

          ./configure --with-components="heacore tcltk external attitude heasptools heatools heagen demo suzaku swift Xspec integral maxi nicer nustar hitomi xmm glast ftools GSSC heasim hxmt"

          make

          make install

注意:此处黑体部分选择的模块应该和下载hEAsoft安装包时选择的Mission一致。可以设定--prefix参数指定安装目录,本例中假定软件安装在/path/to/heasoft/目录下.

(6) 安装hxmt本底模块

         详细步骤见第三节

(7)安装标定数据库

        首先安装其他Mission的标定数据库。安装目录可以由用户指定。本例中假定标定数据库已经安装到/path/to/store/caldb/目录下。这时,该目录下应该包含data和software两个目录

        下载解压hxmt卫星的标定数据库 [download]

          gunzip CALDB2.01.tar.gz

          tar vxf CALDB2.01.tar

      复制标定数据库数据到data下

          cp -r  CALDB2.01/data/hxmt   /path/to/store/caldb/data/

      修改caldb.config文件

          cat CALDB2.01/caldb.config  >>/path/to/store/caldb/software/tools/caldb.config

(8)修改~/.bashrc文件,设置环境变量

          export HEADAS=/path/to/heasoft/x86_64-pc-linux-gnu-libc2.12

          export CALDB=/path/to/store/caldb/

          export CALDBCONFIG=$CALDB/software/tools/caldb.config

          source $HEADAS/headas-init.sh

     注意第一行的黑体部分,这段内容会根据不同的操作系统有所变化,修改应该以安装时实际生成的目录为准

注意:

    上述操作建议在全新下载的HEAsoft安装包的基础上进行,如果利用本机已经安装过的HEAsoft软件代码, 在进行操作时可能会出现编译错误.  

3,本底软件的安装和配置

    本底软件包括hebkgmap.py、mebkgmap.py、lebkgmap.py三个命令,分别用于HE、ME和LE望远镜的本底处理。本底软件需要单独复制安装。复制内容包括两部分:

软件代码在hxmtsoftv2.01/hxmt/HXMTBKG/soft/ 下

参数文件:hxmtsoftv2.01/hxmt/HXMTBKG/refdata/ 下

    安装时,需要在目标位置(通常选择hxmtsoft安装后的位置,本例中选择在/path/to/heasoft/hxmt/下,也可以自定义其他位置)新建目录,然后复制代码和参数文件到新建目录下。

      mkdir /path/to/heasoft/hxmt/bkgsoft

      cp  hxmtsoftv2.01/hxmt/HXMTBKG/soft/*  /path/to/heasoft/hxmt/bkgsoft

      cp  -r  hxmtsoftv2.01/hxmt/HXMTBKG/refdata  /path/to/heasoft/hxmt/bkgsoft

  修改~/.bashrc文件,加入

      export REFPATH="/path/to/heasoft/hxmt/bkgsoft/refdata/"

    这时本底软件可以通过完整路径调用,例如:

            python /path/to/heasoft/hxmt/bkgsoft/hebkgmap.py lc screen.FITS ehkfile.fits gtifile.fits deadtime.fits lcname 50 200 outname

    为了使用更加方便,也可以在~/.bashrc文件中建立alias链接,之后就可以直接使用无需输入完整路径:

      alias hebkgmap="python /path/to/heasoft/hxmt/bkgsoft/hebkgmap.py"

      alias mebkgmap="python /path/to/heasoft/hxmt/bkgsoft/mebkgmap.py"

      alias lebkgmap="python /path/to/heasoft/hxmt/bkgsoft/lebkgmap.py"

4,安装过程中遇到的问题及解决方法

      软件目前在多个操作系统中可成功安装和运行,包括Scientific Linux 6, Ubuntu 16.04, Ubuntu 18.04, macOS 10.14.x。安装过程中可能出现如下问题:

1) make进行编译过程中报错,报错信息为:

    readline/lib/libreadline.so: undefined reference to 'tputs'

    readline/lib/libreadline.so: undefined reference to 'tgoto'

    readline/lib/libreadline.so: undefined reference to 'tgetflag'

    readline/lib/libreadline.so: undefined reference to 'UP'

    readline/lib/libreadline.so: undefined reference to 'tgetent'

    readline/lib/libreadline.so: undefined reference to 'tgetnum'

    readline/lib/libreadline.so: undefined reference to 'PC'

    readline/lib/libreadline.so: undefined reference to 'tgetstr'

【解决方式】:

    这可能是所依赖的库和软件未预安装导致的,在系统上安装 libreadline6-dev, libncurses5-dev,然后重新运行make进行编译。

如在Ubuntu系统中执行(不同系统命令不同,使用对等的命令即可):

    sudo apt-get –y install libreadline6-dev

    sudo apt-get –y install libncurses5-dev

在SLC系统中则执行:

    sudo yum –y install ncurses-devel

    sudo yum –y install readline-devel 

2. make进行编译过程中报错,报错信息为:

/home/user/heasoft-6.24_hxmtsoft/hxmt/BLD/x86_64-pc-linux-gnu-libc2.23-0/lib/libhxmtlib.so: undefined reference to 'atRotVect'

/home/user/heasoft-6.24_hxmtsoft/hxmt/BLD/x86_64-pc-linux-gnu-libc2.23-0/lib/libhxmtlib.so: undefined reference to 'atQuatToEuler'

/home/user/heasoft-6.24_hxmtsoft/hxmt/BLD/x86_64-pc-linux-gnu-libc2.23-0/lib/libhxmtlib.so: undefined reference to 'atInterpolateEuler'

/home/user/heasoft-6.24_hxmtsoft/hxmt/BLD/x86_64-pc-linux-gnu-libc2.23-0/lib/libhxmtlib.so: undefined reference to 'atNormVect'

/home/user/heasoft-6.24_hxmtsoft/hxmt/BLD/x86_64-pc-linux-gnu-libc2.23-0/lib/libhxmtlib.so: undefined reference to 'atEulerToQuat'

/home/user/heasoft-6.24_hxmtsoft/hxmt/BLD/x86_64-pc-linux-gnu-libc2.23-0/lib/libhxmtlib.so: undefined reference to 'atQuatToRM'

【解决方式】:

这是编译过程中未正确指定所需库导致的错误,在报错的编译指令后加入

–latFunction3.3,手动编译该指令,成功后再重新运行make即可。

如Ubuntu系统下,错误信息显示安装程序在路径/path/hxmt/hxmtscreen/下执行编译命令

    g++ -o hxmtscreen hxmtscreen.o ...... -lhxmtlib -lhxmtHElib -lhxmtMElib -lhxmtLElib -lhxmtHEmodule -lhxmtMEmodule -lhxmtLEmodule -lhxmttoolslib -lmpfit

时报错。所以进入报错路径:

    cd /path/hxmt/hxmtscreen/

加上-laFunction3.3重新编译:

    g++ -o hxmtscreen hxmtscreen.o ...... -lhxmtlib -lhxmtHElib -lhxmtMElib -lhxmtLElib -lhxmtHEmodule -lhxmtMEmodule -lhxmtLEmodule -lhxmttoolslib –lmpfit –laFunction3.3

运行成功(无任何信息,无报错)后,回到最初的安装目录~/heasoft-6.26/BUILD_DIR路径下重新运行make即可。

3. Ubuntu安装成功后,安装路径中有两个x86_64-pc-linux-gnu-libc2.23文件夹。一个为x86_64-pc-linux-gnu-libc2.23,一个为x86_64-pc-linux-gnu-libc2.23-0

【解决方式】:

将这两个文件夹合并即可,并删去冗余的文件夹:

$ rsync -av --progress x86_64-pc-linux-gnu-libc2.23-0/* x86_64-pc-linux-gnu-libc2.23/ --ignore-existing

$ rm –rf x86_64-pc-linux-gnu-libc2.23-0

4. Mac下动态库报错,"dyld not loaded":

MacOS系统下,成功执行make, make install无任何报错,但是运行hxmtsoft的命令,诸如hegtigen,出现错误信息:

dyld: Library not loaded: libhxmtHEmodule.dylib

Referenced from: /home/user/heasoft_hxmtsoft2/x86_64-apple-darwin17.7.0/bin/hegtigen

Reason: image not found

这是由于安装后程序无法找到HEADAS所需的动态库,可通过手动指定动态库的路径解决。

【解决方式】:

首先查看某一程序的动态库依赖(以hegtigen为例):

otool –LD $HEADAS/bin/hegtigen

显示结果为:

libhxmtHEmodule.dylib (compatibility version 0.0.0, current version 0.0.0)

libhxmtlib.dylib (compatibility version 0.0.0, current version 0.0.0)

libhxmtHElib.dylib (compatibility version 0.0.0, current version 0.0.0)

@rpath/libhdinit_2.7.dylib (compatibility version 0.0.0, current version 0.0.0)

......

其中三个动态库libhxmtHEmodule.dylib, libhxmtlib.dylib, libhxmtHElib.dylib未指定动态路径,故程序无法找到该库。我们指定这三个的路径:

install_name_tool -change libhxmtHEmodule.dylib $HEADAS/lib/libhxmtHEmodule.dylib $HEADAS/bin/hegtigen

install_name_tool -change libhxmtlib.dylib $HEADAS/lib/libhxmtlib.dylib $HEADAS/bin/hegtigen

install_name_tool -change libhxmtHElib.dylib $HEADAS/lib/libhxmtHElib.dylib $HEADAS/bin/hegtigen

并将$HEADAS/lib该路径加入动态路径:

install_name_tool -add_rpath "$HEADAS/lib" $HEADAS/bin/hegtigen