1 r8s 1.81 make show "no rules to target " about memory.0 & erron.h
#遇到报错,
make: *** No rule to make target '/usr/include/sys/errno.h', needed by 'memory.o'. Stop.
#按照网上别人的教程编辑make文件(这个是有问题的)
delete the second path of erron.h corresponding to memory.o (ps del /user/inclued/sys/erron.h)
2 继续报错
gfortran -c -o blas.o blas.f
make: gfortran: No such file or directory
make: *** [: blas.o] Error 127
#缺少gfortran,按照教程安装
sudo apt-get install gfortran
3 继续报错
Error: Type mismatch in argument ‘ireset’ at (1); passed LOGICAL(4) to INTEGER(4)
tn.f:621:72:
621 | * CALL MONIT(N,X,FNEW,G,NITER,NFTOTL,NFEVAL,LRESET,IPIVOT)
| 1
Error: Type mismatch in argument ‘ireset’ at (1); passed LOGICAL(4) to INTEGER(4)
tn.f:306:57:
306 | * NLINCG,UPD1,YKSK,GSK,YRSR,LRESET,SFUN,.FALSE.,IPIVOT,
| 1
Error: Rank mismatch in argument ‘ipivot’ at (1) (rank-1 and scalar)
tn.f:418:57:
418 | * NLINCG,UPD1,YKSK,GSK,YRSR,LRESET,SFUN,.FALSE.,IPIVOT,
| 1
Error: Rank mismatch in argument ‘ipivot’ at (1) (rank-1 and scalar)
make: *** [: tn.o] Error 1
4 缺少环境,建立新conda环境重新尝试
#
sudo apt-get install build-essential
#安装好gfortra
makerun.sh: 3: makerun.sh: ./r8s: not found
(pyr8s) xfm@XFM-R9KP:~/soft/r8s1.81/src$ make
make: *** No rule to make target '/usr/include/sys/errno.h', needed by 'memory.o'. Stop.
#环境路径不对
5 biostars找到教程,按照该步骤即可正常运行r8s
#https://www.biostars.org/p/386655/
wget -q https://sourceforge.net/projects/r8s/files/r8s1.81.tar.gz \
&& tar -zxvf r8s1.81.tar.gz \
&& cd r8s1.81/src \
&& sed -i 's|/usr/include/sys/errno.h||' Makefile.linux \
&& sed -i 's/continuousML.o //' Makefile.linux \
&& sed -i 's/continuousML.o:/#continuousML.o:/' Makefile.linux \
&& make -f Makefile.linux
6 或者可以使用docker
docker pull shkao/r8s:1.81