在Ubuntu22.04安装Pulsar软件包
1.ubuntu 22.04 安装gcc-7、g+±7(用来编译后续软件)
1.1 添加镜像:
打开源镜像文件
sudo vim /etc/apt/sources.list
在最后一行添加如下内容:
deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main universe
进入到vim按i可以进行编辑,编辑好了以后先按ese键,然后按:wq保存退出
1.2 更新镜像
sudo apt-get update
1.3指定版本安装
sudo apt-get -y install gcc-7 g++-7
2.开始安装,依次执行下面的每一条命令(附命令解释)
sudo apt-get update --fix-missing
sudo apt-get dist-upgrade
sudo apt install -y autotools-dev autoconf libtool make g++-7 gcc-7 gfortran-7 csh libfftw3-dev pgplot5 libcfitsio-dev
sudo apt-get update --fix-missing
sudo apt install -y automake git python3.10 python3-pip swig
sudo apt-get install libx11-dev libpng-dev libglib2.0-dev
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70
sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-7 70
sudo ln -s /usr/bin/gfortran-7 /usr/bin/gfortran
这段代码是一系列Ubuntu命令,用于更新系统、安装所需软件包和更新默认编译器版本。具体而言,它执行以下操作:
sudo apt-get update --fix-missing:更新Ubuntu软件源,如果有丢失的软件包,则修复它们。
sudo apt-get dist-upgrade:升级已安装软件包及其依赖关系到最新版本。
sudo apt install -y autotools-dev autoconf libtool make g+±7 gcc-7 gfortran-7 csh libfftw3-dev pgplot5 libcfitsio-dev:安装开发工具和库,包括GCC编译器及其Fortran支持、自动化工具、FFTW库、PGPLOT绘图库和CFITSIO库。
sudo apt install -y automake git python3.10 python3-pip swig:安装其他工具和库,包括自动化工具、Git、Python和SWIG。
sudo apt-get install libx11-dev libpng-dev libglib2.0-dev:安装X11、PNG和GLib库的开发文件。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70:将gcc-7设置为默认的C编译器。
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g+±7 70:将g+±7设置为默认的C++编译器。
sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-7 70:将gcov-7设置为默认的代码覆盖率工具。
sudo ln -s /usr/bin/gfortran-7 /usr/bin/gfortran:创建一个指向gfortran-7的符号链接,以便以后可以使用“gfortran”来调用它。
export PATH=$PATH:$HOME/.local/bin
pip install -i https://mirrors.aliyun.com/pypi/simple/ numpy scipy matplotlib ipython jupyter pandas sympy nose
export curPath=$HOME
export PSRHOME=$curPath/Pulsar
mkdir $PSRHOME
cd $PSRHOME
wget https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-3.5.1.tar.gz
tar -xvf calceph-3.5.1.tar.gz
cd $PSRHOME/calceph-3.5.1
./configure --prefix=/usr/local
make -j 8
sudo make install
这段代码主要是安装和配置相关的软件和环境变量。解释如下:
export PATH=
P
A
T
H
:
PATH:
PATH:HOME/.local/bin:将 $HOME/.local/bin 目录添加到
P
A
T
H
环境变量中,以便能够在终端中直接执行
p
i
p
命令。
p
i
p
i
n
s
t
a
l
l
−
i
h
t
t
p
s
:
/
/
m
i
r
r
o
r
s
.
a
l
i
y
u
n
.
c
o
m
/
p
y
p
i
/
s
i
m
p
l
e
/
n
u
m
p
y
s
c
i
p
y
m
a
t
p
l
o
t
l
i
b
i
p
y
t
h
o
n
j
u
p
y
t
e
r
p
a
n
d
a
s
s
y
m
p
y
n
o
s
e
:使用
p
i
p
安装
n
u
m
p
y
、
s
c
i
p
y
、
m
a
t
p
l
o
t
l
i
b
、
i
p
y
t
h
o
n
、
j
u
p
y
t
e
r
、
p
a
n
d
a
s
、
s
y
m
p
y
和
n
o
s
e
等
P
y
t
h
o
n
库。
e
x
p
o
r
t
c
u
r
P
a
t
h
=
PATH 环境变量中,以便能够在终端中直接执行 pip 命令。 pip install -i https://mirrors.aliyun.com/pypi/simple/ numpy scipy matplotlib ipython jupyter pandas sympy nose:使用 pip 安装 numpy、scipy、matplotlib、ipython、jupyter、pandas、sympy 和 nose 等 Python 库。 export curPath=
PATH环境变量中,以便能够在终端中直接执行pip命令。pipinstall−ihttps://mirrors.aliyun.com/pypi/simple/numpyscipymatplotlibipythonjupyterpandassympynose:使用pip安装numpy、scipy、matplotlib、ipython、jupyter、pandas、sympy和nose等Python库。exportcurPath=HOME:将
H
O
M
E
路径保存在
c
u
r
P
a
t
h
变量中。
e
x
p
o
r
t
P
S
R
H
O
M
E
=
HOME 路径保存在 curPath 变量中。 export PSRHOME=
HOME路径保存在curPath变量中。exportPSRHOME=curPath/Pulsar:将 $curPath/Pulsar 目录保存在 PSRHOME 变量中。
mkdir $PSRHOME:创建 $PSRHOME 目录。
cd $PSRHOME:进入 $PSRHOME 目录。
wget https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-3.5.1.tar.gz:从指定 URL 下载 calceph-3.5.1.tar.gz 文件。//执行这句的时候可能很慢甚至不成功,可能因为这个网站是外网,需要重复执行直到运行成功
tar -xvf calceph-3.5.1.tar.gz:解压 calceph-3.5.1.tar.gz 文件。
calceph-3.5.1.tar.gz 是一种天体轨道计算软件,用于计算天体之间的相对位置和速度。它能够读取多种天体轨道文件格式,包括JPL DE系列文件、SPICE文件、INPOP等,并能够生成各种输出格式。在天文学研究中,calceph常被用于模拟天体的运动、构建天体轨道模型以及计算天体的位置和速度等。
cd $PSRHOME/calceph-3.5.1:进入 calceph-3.5.1 目录。
./configure --prefix=/usr/local:运行 configure 脚本,指定安装目录为 /usr/local。
make -j 8:编译源代码,使用 8 个线程进行编译。
sudo make install:安装编译后的二进制文件。由于需要写入 /usr/local 目录,需要使用 sudo 命令以管理员身份运行。
总之,这段代码的作用是安装和配置一些必要的软件和环境,为后续的安装和使用做好准备。
export TEMPO=$PSRHOME/tempo
cd $PSRHOME
git clone https://github.com/nanograv/tempo.git
cd $PSRHOME/tempo
./prepare
./configure --prefix=/usr/local
make -j 8
sudo make install
这部分代码是下载和安装TEMPO软件。TEMPO是一个用于射电脉冲星观测数据处理的软件包。它包括对观测数据进行建模和拟合的工具,以及计算射电脉冲星的测时模型的工具。以下是代码的解释:
export TEMPO=
P
S
R
H
O
M
E
/
t
e
m
p
o
:设置
T
E
M
P
O
的安装路径为
PSRHOME/tempo:设置TEMPO的安装路径为
PSRHOME/tempo:设置TEMPO的安装路径为PSRHOME/tempo。
cd
P
S
R
H
O
M
E
:进入
PSRHOME:进入
PSRHOME:进入PSRHOME目录。
git clone https://github.com/nanograv/tempo.git:从GitHub上克隆TEMPO的源代码。//执行这句的时候可能很慢甚至不成功,可能因为这个网站是外网,需要重复执行知道运行成功
cd $PSRHOME/tempo:进入TEMPO的源代码目录。
./prepare:准备TEMPO的编译环境。
./configure --prefix=/usr/local:配置TEMPO的安装路径为/usr/local。
make -j 8:使用8个线程进行编译。
sudo make install:安装TEMPO。sudo用于提升用户权限。
export PATH=$PATH:$PSRHOME/bin
export PGPLOT_DIR=/usr/lib/pgplot5
export PGPLOT_FONT=$PGPLOT_DIR/grfont.dat
export TEMPO2=$PSRHOME/tempo2
export PSRCAT_FILE=$PSRHOME/psrcat/psrcat.db
export PYTHONPATH=$PSRHOME/lib/python3.10/site-packages:$PYTHONPATH
cd $PSRHOME
git clone git://git.code.sf.net/p/psrchive/code psrchive
这段代码是为了设置环境变量以及克隆代码库psrchive。具体来说:
export PATH=
P
A
T
H
:
PATH:
PATH:PSRHOME/bin: 将 $PSRHOME/bin 目录添加到系统环境变量
P
A
T
H
中,以便在终端中直接执行
p
s
r
c
h
i
v
e
相关命令。
e
x
p
o
r
t
P
G
P
L
O
T
D
I
R
=
/
u
s
r
/
l
i
b
/
p
g
p
l
o
t
5
:
设置
P
G
P
L
O
T
库所在的目录。
e
x
p
o
r
t
P
G
P
L
O
T
F
O
N
T
=
PATH 中,以便在终端中直接执行 psrchive 相关命令。 export PGPLOT_DIR=/usr/lib/pgplot5: 设置 PGPLOT 库所在的目录。 export PGPLOT_FONT=
PATH中,以便在终端中直接执行psrchive相关命令。exportPGPLOTDIR=/usr/lib/pgplot5:设置PGPLOT库所在的目录。exportPGPLOTFONT=PGPLOT_DIR/grfont.dat: 设置 PGPLOT 库所需的字体文件所在的目录。
export TEMPO2=$PSRHOME/tempo2: 设置 TEMPO2 环境变量,指向
P
S
R
H
O
M
E
目录下的
t
e
m
p
o
2
子目录,以便在使用
p
s
r
c
h
i
v
e
库时使用其中的工具。
e
x
p
o
r
t
P
S
R
C
A
T
F
I
L
E
=
PSRHOME 目录下的 tempo2 子目录,以便在使用 psrchive 库时使用其中的工具。 export PSRCAT_FILE=
PSRHOME目录下的tempo2子目录,以便在使用psrchive库时使用其中的工具。exportPSRCATFILE=PSRHOME/psrcat/psrcat.db: 设置 psrcat 数据库文件所在的目录。
export PYTHONPATH=
P
S
R
H
O
M
E
/
l
i
b
/
p
y
t
h
o
n
3.10
/
s
i
t
e
−
p
a
c
k
a
g
e
s
:
PSRHOME/lib/python3.10/site-packages:
PSRHOME/lib/python3.10/site−packages:PYTHONPATH: 将 $PSRHOME/lib/python3.10/site-packages 目录添加到系统环境变量 $PYTHONPATH 中,以便在使用 psrchive 库时能够正确加载其中的 Python 模块。
cd $PSRHOME: 进入 $PSRHOME 目录。
git clone git://git.code.sf.net/p/psrchive/code psrchive: 从 git://git.code.sf.net/p/psrchive/code 代码库中克隆 psrchive 代码库到当前目录。//执行这句的时候可能很慢甚至不成功,可能因为这个网站是外网,需要重复执行直到运行成功
cd psrchive
./bootstrap
./configure --enable-shared
sudo ./packages/tempo2.csh
sudo ./packages/psrcat.csh
./configure --enable-shared
make
make check
sudo make install
这段代码是在进入psrchive目录后,进行编译和安装的一系列命令。
./bootstrap 用于生成配置文件和编译文件,将会根据环境检查是否有所需的软件包和库,生成Makefile等文件。
./configure --enable-shared 用于配置环境,指定需要启用的选项,如启用动态库,将会生成适合本机的编译配置。
sudo ./packages/tempo2.csh 运行安装tempo2的脚本文件,使用sudo以管理员权限运行,将tempo2安装到系统中。
sudo ./packages/psrcat.csh 运行安装psrcat的脚本文件,使用sudo以管理员权限运行,将psrcat安装到系统中。
make 用于编译代码,将源代码编译成可执行文件。
make check 用于对编译好的代码进行测试,确保代码的正确性。
sudo make install 用于将编译好的代码安装到系统中,使得该程序可以在系统的任何地方被调用。
在这一系列命令执行完毕之后,psrchive程序就已经被成功编译和安装到系统中,可以被调用使用了。
cd $PSRHOME/src/tempo2
sudo make plugins
sudo make plugins-install
cd $PSRHOME/psrchive
./configure --enable-shared
make
make check
sudo make install
这些命令的作用是:
cd $PSRHOME/src/tempo2: 进入tempo2源代码目录
sudo make plugins: 编译tempo2的插件
sudo make plugins-install: 安装tempo2的插件
cd $PSRHOME/psrchive: 进入psrchive源代码目录
./configure --enable-shared: 配置psrchive,开启共享库支持
make: 编译psrchive
make check: 运行psrchive的测试用例
sudo make install: 安装psrchive
这些命令的作用是编译和安装软件,其中包括安装psrchive和tempo2的插件。make check命令运行测试用例,以确保编译和安装过程的正确性。
cd $PSRHOME
export CFLAGS=-I$TEMPO2/include
export CXXFLAGS=$CFLAGS
export LDFLAGS=-L$TEMPO2/lib
git clone https://github.com/SixByNine/sigproc.git
cd $PSRHOME/sigproc
export FFF=-ffixed-line-length-none
./bootstrap
./configure --prefix=/usr/local
make -j 8
sudo make install
这段代码主要是安装sigproc软件,具体步骤如下:
进入pulsar目录:cd
P
S
R
H
O
M
E
设置环境变量
C
F
L
A
G
S
、
C
X
X
F
L
A
G
S
和
L
D
F
L
A
G
S
分别为
T
E
M
P
O
2
的
i
n
c
l
u
d
e
目录和
l
i
b
目录:
e
x
p
o
r
t
C
F
L
A
G
S
=
−
I
PSRHOME 设置环境变量CFLAGS、CXXFLAGS和LDFLAGS分别为TEMPO2的include目录和lib目录:export CFLAGS=-I
PSRHOME设置环境变量CFLAGS、CXXFLAGS和LDFLAGS分别为TEMPO2的include目录和lib目录:exportCFLAGS=−ITEMPO2/include,export CXXFLAGS=
C
F
L
A
G
S
,
e
x
p
o
r
t
L
D
F
L
A
G
S
=
−
L
CFLAGS,export LDFLAGS=-L
CFLAGS,exportLDFLAGS=−LTEMPO2/lib
下载sigproc软件源代码:git clone https://github.com/SixByNine/sigproc.git //执行这句的时候可能很慢甚至不成功,可能因为这个网站是外网,需要重复执行直到运行成功
进入sigproc目录:cd $PSRHOME/sigproc
设置环境变量FFF:export FFF=-ffixed-line-length-none
运行./bootstrap脚本
运行./configure脚本,指定安装目录为/usr/local
运行make命令编译源代码
运行sudo make install命令安装sigproc
export PRESTO=$PSRHOME/presto
export PGPLOT_DIR=/usr/lib/pgplot5
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PRESTO/lib
export PATH=$PATH:$PRESTO/bin
export PYTHONPATH=$PYTHONPATH:$PRESTO/lib/python
cd $PSRHOME
git clone https://github.com/scottransom/presto.git
cd $PRESTO/src
sudo cp $PRESTO/lib/*.* /usr/local/lib
make -j 8
这段代码是在设置环境变量和安装 PRESTO 软件包。
具体来说:
export PRESTO=$PSRHOME/presto 设置环境变量 PRESTO 为 $PSRHOME/presto,其中
P
S
R
H
O
M
E
是之前设置的变量,指代
p
u
l
s
a
r
软件安装的主目录。
e
x
p
o
r
t
P
G
P
L
O
T
D
I
R
=
/
u
s
r
/
l
i
b
/
p
g
p
l
o
t
5
设置环境变量
P
G
P
L
O
T
D
I
R
为
/
u
s
r
/
l
i
b
/
p
g
p
l
o
t
5
,该变量指示
P
R
E
S
T
O
使用的
P
G
P
L
O
T
库的安装路径。
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
PSRHOME 是之前设置的变量,指代 pulsar 软件安装的主目录。 export PGPLOT_DIR=/usr/lib/pgplot5 设置环境变量 PGPLOT_DIR 为 /usr/lib/pgplot5,该变量指示 PRESTO 使用的 PGPLOT 库的安装路径。 export LD_LIBRARY_PATH=
PSRHOME是之前设置的变量,指代pulsar软件安装的主目录。exportPGPLOTDIR=/usr/lib/pgplot5设置环境变量PGPLOTDIR为/usr/lib/pgplot5,该变量指示PRESTO使用的PGPLOT库的安装路径。exportLDLIBRARYPATH=LD_LIBRARY_PATH:
P
R
E
S
T
O
/
l
i
b
将
P
R
E
S
T
O
/
l
i
b
目录添加到动态链接库搜索路径
L
D
L
I
B
R
A
R
Y
P
A
T
H
中,以便动态链接器能够在运行
P
R
E
S
T
O
时找到必要的库。
e
x
p
o
r
t
P
A
T
H
=
PRESTO/lib 将 PRESTO/lib 目录添加到动态链接库搜索路径 LD_LIBRARY_PATH 中,以便动态链接器能够在运行 PRESTO 时找到必要的库。 export PATH=
PRESTO/lib将PRESTO/lib目录添加到动态链接库搜索路径LDLIBRARYPATH中,以便动态链接器能够在运行PRESTO时找到必要的库。exportPATH=PATH:
P
R
E
S
T
O
/
b
i
n
将
P
R
E
S
T
O
/
b
i
n
目录添加到环境变量
P
A
T
H
中,以便在终端中直接运行
P
R
E
S
T
O
中的可执行文件。
e
x
p
o
r
t
P
Y
T
H
O
N
P
A
T
H
=
PRESTO/bin 将 PRESTO/bin 目录添加到环境变量 PATH 中,以便在终端中直接运行 PRESTO 中的可执行文件。 export PYTHONPATH=
PRESTO/bin将PRESTO/bin目录添加到环境变量PATH中,以便在终端中直接运行PRESTO中的可执行文件。exportPYTHONPATH=PYTHONPATH:$PRESTO/lib/python 将 PRESTO/lib/python 目录添加到环境变量 PYTHONPATH 中,以便在 Python 中导入 PRESTO 模块。
cd $PSRHOME 进入 pulsar 软件安装的主目录。
git clone https://github.com/scottransom/presto.git 从 Github 克隆 PRESTO 代码。//执行这句的时候可能很慢甚至不成功,可能因为这个网站是外网,需要重复执行直到运行成功
cd $PRESTO/src 进入 PRESTO 源代码目录。
sudo cp $PRESTO/lib/. /usr/local/lib 将 PRESTO/lib 目录下的所有库文件复制到 /usr/local/lib 目录中。
make -j 8 编译 PRESTO。-j 8 指示 make 命令使用 8 个线程来加速编译。
export DSPSR=$PSRHOME/dspsr
export PATH=${PATH}:$DSPSR/bin
cd $PSRHOME
git clone https://git.code.sf.net/p/dspsr/code dspsr
cd $PSRHOME/dspsr
cp $HOME/backends.list $DSPSR/
./bootstrap
./configure --prefix=/usr/local
make
sudo make install
这段代码是在设置环境变量和安装 PRESTO 软件包。
具体来说:
export PRESTO=$PSRHOME/presto 设置环境变量 PRESTO 为 $PSRHOME/presto,其中
P
S
R
H
O
M
E
是之前设置的变量,指代
p
u
l
s
a
r
软件安装的主目录。
e
x
p
o
r
t
P
G
P
L
O
T
D
I
R
=
/
u
s
r
/
l
i
b
/
p
g
p
l
o
t
5
设置环境变量
P
G
P
L
O
T
D
I
R
为
/
u
s
r
/
l
i
b
/
p
g
p
l
o
t
5
,该变量指示
P
R
E
S
T
O
使用的
P
G
P
L
O
T
库的安装路径。
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
PSRHOME 是之前设置的变量,指代 pulsar 软件安装的主目录。 export PGPLOT_DIR=/usr/lib/pgplot5 设置环境变量 PGPLOT_DIR 为 /usr/lib/pgplot5,该变量指示 PRESTO 使用的 PGPLOT 库的安装路径。 export LD_LIBRARY_PATH=
PSRHOME是之前设置的变量,指代pulsar软件安装的主目录。exportPGPLOTDIR=/usr/lib/pgplot5设置环境变量PGPLOTDIR为/usr/lib/pgplot5,该变量指示PRESTO使用的PGPLOT库的安装路径。exportLDLIBRARYPATH=LD_LIBRARY_PATH:
P
R
E
S
T
O
/
l
i
b
将
P
R
E
S
T
O
/
l
i
b
目录添加到动态链接库搜索路径
L
D
L
I
B
R
A
R
Y
P
A
T
H
中,以便动态链接器能够在运行
P
R
E
S
T
O
时找到必要的库。
e
x
p
o
r
t
P
A
T
H
=
PRESTO/lib 将 PRESTO/lib 目录添加到动态链接库搜索路径 LD_LIBRARY_PATH 中,以便动态链接器能够在运行 PRESTO 时找到必要的库。 export PATH=
PRESTO/lib将PRESTO/lib目录添加到动态链接库搜索路径LDLIBRARYPATH中,以便动态链接器能够在运行PRESTO时找到必要的库。exportPATH=PATH:
P
R
E
S
T
O
/
b
i
n
将
P
R
E
S
T
O
/
b
i
n
目录添加到环境变量
P
A
T
H
中,以便在终端中直接运行
P
R
E
S
T
O
中的可执行文件。
e
x
p
o
r
t
P
Y
T
H
O
N
P
A
T
H
=
PRESTO/bin 将 PRESTO/bin 目录添加到环境变量 PATH 中,以便在终端中直接运行 PRESTO 中的可执行文件。 export PYTHONPATH=
PRESTO/bin将PRESTO/bin目录添加到环境变量PATH中,以便在终端中直接运行PRESTO中的可执行文件。exportPYTHONPATH=PYTHONPATH:$PRESTO/lib/python 将 PRESTO/lib/python 目录添加到环境变量 PYTHONPATH 中,以便在 Python 中导入 PRESTO 模块。
cd $PSRHOME 进入 pulsar 软件安装的主目录。
git clone https://github.com/scottransom/presto.git 从 Github 克隆 PRESTO 代码。//执行这句的时候可能很慢甚至不成功,可能因为这个网站是外网,需要重复执行直到运行成功
cd $PRESTO/src 进入 PRESTO 源代码目录。
sudo cp $PRESTO/lib/. /usr/local/lib 将 PRESTO/lib 目录下的所有库文件复制到 /usr/local/lib 目录中。
make -j 8 编译 PRESTO。-j 8 指示 make 命令使用 8 个线程来加速编译。
3.验证是否安装成功
进入Pulsar目录:
cd Pulsar
运行python环境:
python3
或者
python
在里面输入:
import psrchive
如果没有报错而且结果如下图说明安装成功了:
4.遇到的错误
第一次是编译测试没通过的错误:执行到第一次make check报的错
这个是chatgpt给的回复:
根据测试结果,test_TextInterface
测试失败了,因为它的退出状态是255。根据Python unittest模块的文档,退出状态255通常表示测试执行期间出现了错误。根据您提供的代码,可能的原因是TextInterface
类的To
方法没有正确实现。
具体来说,这里的测试代码涉及Value
类、AttributeGet
类和TextInterface
类,Value
类表示一个实数,AttributeGet
类是一个抽象基类,TextInterface
类可以将一个实数转换为字符串。在这个测试用例中,我们先创建一个Value
对象,然后创建一个AttributeGet
对象,将其值设置为Value
对象的值,最后创建一个TextInterface
对象并调用其To
方法,将AttributeGet
对象的值转换为字符串并返回。然后我们检查返回的字符串是否符合预期。
根据您提供的代码,问题可能出现在TextInterface
类的To
方法中。具体来说,这个方法的实现似乎只是简单地返回输入值的字符串表示,并没有进行任何格式化。因此,如果AttributeGet
对象的值是3.456,那么To
方法将返回字符串"3.456"。但是,测试代码预期的结果是"3.46",这是因为它使用了Python的round
函数将值舍入到两位小数。由于To
方法没有进行任何舍入,因此测试失败。
所以我觉得这个错误很可能是由于精度取舍问题导致的。
然后我点进去图片里这个Util/untils/test-suite.log看,它叫我把这个错误报告发送到开发者那里去,然后我抱着试试的心态给大佬发了邮件,想不到他居然回复了。
大佬说他已经修复了这个错误,叫我再试试。我就把Pulsar文件夹删了重新从第一步开始执行,结果这次在make check的前一步在make就出错了:
然后又给大佬发了邮件,他给我的回复如下:
我翻译了一下他的意思大概是:
这些字符串错误相当深地隐藏在一些相对晦涩的C++模板代码中。我在上次提交代码时粗心大意,没有尝试重新编译psrchive源代码的全部内容。也就是说,我可以轻松地重现你报告的新错误。
我已经修复了这个新的错误,并已成功重新编译了所有内容。
你能否在你那边再试一次?
从大佬的回复中可以看出这次的错误主要是因为他提交代码时粗心不小心导致的,所以我又把Pulsar文件夹删了重新来了一遍,这次除了有时候因为网络问题而导致的中断其他都很顺利的执行到了最后一步。文章来源:https://www.toymoban.com/news/detail-731378.html
5.总结
这个软件我大概安装了两周多,尝试了大概有10多次了,主要花费的时间还是中间的执行步骤有些很慢,还有最崩溃的是网络问题,因为那些命令涉及到的网站基本都是外网所以有时候下载的很慢很慢(很难想象都5G时代了,下载东西的速度还会到几kb/s),但是有些时候也还是挺快的,这我到现在也没弄清楚到底是为什么。还有就是在此表示一下对大佬由衷的感谢,我只是抱着试试的心态发给他的邮件,形式也很随意,虽然第一封邮件是隔了好几天才回复我,但是能和大佬有一次交流的机会我觉得已经很开心了,要是没有他的帮助我觉得可能到现在都解决不了那个问题,我觉得这才是一个真正科学家应该具备的精神,无论对方是谁都可以交流讨论。反观国内的情况,对于好多论文中的问题,按照他留那个联系方式发邮件给他大概率是收不到回复的(反正我目前发过两次,已经几个月了都没有回复)。希望这篇文章对研究射频干扰的同行们有些帮助吧,我自己也才是个研一的学生,刚开始这个领域,有问题欢迎大家随时交流讨论。文章来源地址https://www.toymoban.com/news/detail-731378.html
到了这里,关于在Ubuntu22.04里安装脉冲星信号处理工具----Pulsar软件包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!