smashdog 2017-10-14
今天师兄让我自己摸索学习安装presto,然后我就跑过去自己摸索了。发现安装时碰见很多问题,所以决定写下来。
我的笔记本由于重新装过一次系统,然后被我给格了,所以虚拟机我也没拷下来,于是重新下了CentOS 7重新搞一个Linux环境。
OS的ISO文件下载地址:http://mirrors.sina.cn/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso(下载最小安装包的话可能环境会比较难搞,这边是完整版)。下载完成之后就是虚拟机安装了,此处安装选项最好是Development and Creative Workstation,我是全部都勾选了
安装完虚拟机之后需要先大概安装一下后面需要的东西。在终端使用yum安装,输入:yum groupinstall ‘Development tools’,接着在/home/m下创建astrosoft。 sudo yum groupinstall "Development Tools"
yum install libpng12-devel
mkdir /home/m/astrosoft
下面是下载presto
presto的官方网站:http://www.cv.nrao.edu/~sransom/presto/ cd /home/m/astrosoft
exit
cd /home/m/astrostud
git clone git://github.com/scottransom/presto.git
在presto目录下的INSTALL是安装教程,下面的步骤就是按照教程进行的。
1 安装FFTW3.X
FFTW3.X官方网站:http://www.fftw.org/。 wget www.fftw.org/fftw-3.3.5.tar.gz
tar -zxvf fftw-3.3.5.tar.gz
cd fftw-3.3.5
./configure --enable-shared --enable-single --prefix=/home/m/astrosoft/fftw
make
make install
2 安装PGPLOT
PGPLOT地址:http://www.astro.caltech.edu/~tjp/pgplot/
下载地址:ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz cd /home/m/Download
wget ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz
tar -zxvf pgplot5.2.tar.gz
mkdir /home/m/astrosoft/pgplot
cd /home/m/astrosoft/pgplot
cp /home/m/Download/pgplot/drivers.list .
vi drivers.list
此处根据自己的需求修改drivers.list添加设备。此处presto要求必选设备有PS和X-windows设备,另外还可以加上VPS、CPS和VCPS设备。 /home/m/astrosoft/new/pgplot/makemake /home/m/astrosoft/new/pgplot linux g77_gcc
之后文件夹会出现 drivers.list grexec.f grpckg1.inc makefile pgplot.inc rgb.txt
\
这几个文件夹,接着修改makefile文件,将其中的FCOMPL=g77
修改为FCOMPL=gfortran
此时直接make还是会出现错误的,因为我们并没有安装X11。下面先安装X11,此时需要管理员权限配置系统 sudo yum install libX11-devel
make
make cpg
这时pgplot就可以算是安装完成了,但是需要注意的是我们还没有将pgplot添加到PATH中去。
3 安装Tempo
Tempo下载地址: http://tempo.sourceforge.net/ cd /home/m/Download
git clone git://git.code.sf.net/p/tempo/tempo
cp -r /home/m/tempo /home/m/psrsoft/tempo
cd /home/m/astrosoft/tempo
./prepare
./configure --prefix=/home/m/astrosoft/tempo
make
make install
至此tempo是安装完成了。
4 安装GLIB(v2.X)
可以通过yum安装 yum install glib2-devel
5 安装CFITSIO
CFITSIO的下载地址是: http://heasarc.gsfc.nasa.gov/fitsio/
然后下载unix的版本。 cd /home/m/Download
tar -zxvf cfitsio3390.tar.gz
cd cfitsio
mkdir /home/m/astrosoft/cfitsio
./configure --prefix=/home/m/astrosoft/cfitsio
make
make install
至此安装tempo之前的各种软件就已经安装完成了。
6 部署各种环境等
Environment variables!
– Is PRESTO set to the top-level PRESTO source directory?
– Is TEMPO set to the top-level TEMPO source directory?
– Is PGPLOT_DIR set to the location of the PGPLOT utility files?
(Note: On Ubuntu, that should be /usr/lib/pgplot5)
– Is $PRESTO/bin in your PATH?
– Is $PRESTO/lib in your LD_LIBRARY_PATH?
– Is $PRESTO/lib/python in your PYTHONPATH
下面我们就来一一设置。
这一步需要先完成。 vi /home/m/.bash_profile
加入以下几行:
PATH=$PATH:$HOME/bin:/home/m/astrosoft/presto/bin:/home/m/astrosoft/pgplot/bin:/home/m/astrosoft/presto/bin:/nfshome/mcc/pfits:/home/m/astrosoft/optimus:/home/m/astrosoft/fv:/home/m/astrosoft/psrcat_tar:/home/m/astrosoft/tempo/src/ LD_LIBRARY_PATH=/home/m/astrosoft/presto/lib:/home/m/astrosoft/pgplot:/home/m/astrosoft/fftw3/lib:/home/m/astrosoft/cfitsio/lib C_INCLUDE_PATH=/home/m/astrosoft/presto/include:/home/m/astrosoft/cfitsio/include PKG_CONFIG_PATH=/home/m/astrosoft/cfitsio/lib/pkgconfig:/home/m/astrosoft/fftw3/lib/pkgconfig PYTHONPATH=/home/m/astrosoft/presto/lib/python PGPLOT_DIR=/home/m/astrosoft/pgplot PGPLOT_FONT=/home/m/astrosoft/pgplot/grfont.dat PGPLOT_DEV=/xwine PGPLOT_LIB="-L /usr/X11R6/lib -lX11 -L /home/m/astrosoft/pgplot -lpgplot" PRESTO=/home/m/astrosoft/presto TEMPO=/home/m/astrosoft/tempo PSRCAT_FILE=/home/m/astrosoft/psrcat_tar/psrcat.db export PATH export LD_LIBRARY_PATH export C_INCLUDE_PATH export PKG_CONFIG_PATH export PYTHONPATH export PGPLOT_DIR export PGPLOT_FONT export PGPLOT_DEV export PGPLOT_LIB export PRESTO export TEMPO export PSRCAT_FILE
然后保存退出,输入: source .bash_profile
大体上的设置就结束了。假如在下面的步骤中出现错误,最好将presto文件删除,然后用户注销一下再重新进行下面的步骤。
7 presto安装step1
上面的步骤进行完成之后就需要进入presto的文件夹中进行操作了。将presto文件夹放入/home/m/astrosoft
中,然后进入/presto/src
中,输入: sudo make makewisdom
这一步需要写入权限
这一步会花费很长时间,可以上个网休息一下。
8 presto安装step2
在上面一步结束之后,我们需要再输入:make prep
9 presto安装step3
在上面两步都结束之后,就直接输入: make
,这样在/src里面的操作就彻底完成了。
假如出现如下报错:
error while loading shared libraries: libsla.so: cannot open shared object file: No such file or directory
或者只是presto的python路径等没有设置好
则在/usr/lib下应该存在libsla.so
这个文件,这是如果共享库文件安装到了/lib或/usr/lib目录下, 需执行一下ldconfig命令。
ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.
所以假如出现了这个报错,则运行如下命令并且重新进行这一步
sudo ldconfig sudo make
10 presto安装step4
这一步需要确定python版本以及安装numpy和scipy。这一步我也不是很清楚,但是系统是自带python2.7版本的。
cd进入presto/python文件夹 vi setup.py
Note: you might need to add “gfortran” to the following list if
you see errors relating to missing “g” functions….
这时需要下面一步,不然就可以直接make
将ppgplot_libraries = ["cpgplot", "pgplot", "X11", "png", "m"]
改为ppgplot_libraries = ["gfortran" , "cpgplot", "pgplot", "X11", "png", "m"]
cd /home/m/astrosoft/presto/python
make
这里需要注意,在根据INSTALL文件安装时,可能在make
步骤之后还会有有一个make fftfit
。这个时候需要看一下Makefile文件的build那下面的最后一行有没有这一行:python fftfit_src/test_fftfit.py
。假如有这一行,就不需要make fftfit
这一步了。可能看到此文章时他们已经修改了INSTALL文件。总之只要知道这一步和这一行是重复的就可以了。
11 end
假如你能看到这一步,我就可以恭喜你了,你已经完成了整个的安装过程了。下���你就可以去寻找脉冲星了。
可以从官网找到教程ppt
网址http://www.cv.nrao.edu/~sransom/PRESTO_search_tutorial.pdf
可以使用其中数据进行测试。