无法在 ubuntu 20.04 中安装 JEWEL

无法在 ubuntu 20.04 中安装 JEWEL

我正在尝试安装珠宝在 UBUNTU 20.04 上。如文档中所述,它依赖于拉美裔美国人武装部队。我已成功安装 LHAPDF,它向我显示了如下消息:

Libraries are installed in /usr/local/

但是当我尝试安装 JEWEL 时,它显示一个错误:

Cannot find -lLHAPDF

我参观过这个相关答案,但由于我不是 Linux 专家,所以不知道该怎么做。我使用了:

sudo -H nautilus

并将文件libLHAPDF.so从复制粘贴/usr/local/lib/usr/lib/。之后,我尝试make再次运行该命令,但这次它显示了不同的错误:

$ make
gfortran -o jewel-2.2.0-vac -L/usr/local jewel-2.2.0.o medium-vac.o pythia6425mod.o meix.o -lLHAPDF
/usr/bin/ld: pythia6425mod.o: in function `pypdfu_':
/home/aritra/Project/jewel-2.2.0/pythia6425mod.f:39228: undefined reference to `structa_'
collect2: error: ld returned 1 exit status
make: *** [Makefile:10: jewel-2.2.0-vac] Error 1

有哪位专家可以帮我安装这个吗?

答案1

我建议使用来自 Ubuntu 存储库的软件包。18.04
LTS 有 LHPADF我们可以将它们下载到Ubuntu 20.04 LTS中进行安装:

cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/l/lhapdf/liblhapdf0v5_5.9.1-6_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/l/lhapdf/liblhapdf-dev_5.9.1-6_amd64.deb

sudo apt-get install ./liblhapdf0v5_5.9.1-6_amd64.deb ./liblhapdf-dev_5.9.1-6_amd64.deb

然后编译JEWEL:

sudo apt-get install gfortran build-essential

cd ~/Downloads
wget https://jewel.hepforge.org/downloads/?f=jewel-2.2.0.tar.gz -O jewel-2.2.0.tar.gz
tar xvzf jewel-2.2.0.tar.gz
cd jewel-2.2.0/
make

./jewel-2.2.0-vac或来 使用它./jewel-2.2.0-simple

答案2

此问题是由 Fortran 延续中的拼写错误引起的。编辑文件 pythia6425mod.f:在第 39228 行,第 6 列应该有 &,第 9-12 列应该有 GLU),如下所示:

39227|           CALL STRUCTA(XX,QQ,MASS,UPV,DNV,USEA,DSEA,STR,CHM,BOT,TOP,
39228|     &  GLU)

希望这可以帮助

相关内容