我正在尝试构建R-devel/R-patched。我已经阅读了一些链接,这些链接与执行此操作的步骤有关。
1) https://www.r-bloggers.com/2022/01/building-r-4-2-for-windows-with-openblas/
2) https://www.r-bloggers.com/2020/05/building-r-4-for-windows-with-openblas/
3) https://github.com/r-windows/r-base
但不幸的是,没有取得任何成功。
在";1〃;我没有";Makefile.win";并且没有具有"0"的文件-lf77blas-latlas";在";2〃;手动创建的";完整构建.sh";脚本什么都不做。在";3〃;我的Use_ATLAS=YES
有一个错误
installing 'sysdata.rda'
make[3]: *** [../../../share/make/basepkg.mk:151: sysdata] Error 127
make[2]: *** [Makefile.win:22: all] Error 2
make[1]: *** [Makefile.win:32: R] Error 1
make: *** [Makefile:18: all] Error 2
此错误与basepkg.mk:中的此行有关
@$(ECHO) "tools:::sysdata2LazyLoadDB("$(srcdir)/R/sysdata.rda","$(top_builddir)/library/$(pkg)/R")" |
R_DEFAULT_PACKAGES=NULL LC_ALL=C $(R_EXE)
那么,有人能帮我吗?这3种方式有什么问题?如何正确构建R-devel(如果可能的话,使用安装文件(?还有可能用AMD BLIS库编译这个(我有Ryzen 9 5950x(。
谢谢。
附言:我使用winlibs中的Windows 11和gcc-12.02P.P.S.如果可能的话,请添加一个用AMD BLIS构建R的配方。。。
1) https://cran.r-project.org/bin/windows/base/howto-R-devel.html # the canonical guide for compiling R-devel on Windows using Rtools
2) https://www.r-bloggers.com/2022/01/building-r-4-2-for-windows-with-openblas/ # adapt parts of this guide to get openblas with R
按照上面的2个链接,这里有一些基本步骤:
1.安装R工具43
(i( 下载;(ii(将其安装到默认位置(即C:rtools43
(
2.安装MikTeX和Inno Setup
需要MikTeX(具有基本包和unsolata(来构建包小插曲和文档。需要Inno Setup来构建R安装程序。
3.常规设置
运行Msys2 shell(
c:/rtools43/msys2.exe
(制作一个文件夹来存储源文件:
mkdir /c/R-devel
更新Msys2:
pacman -Syuu
它可能首先只更新核心内容,然后要求您关闭终端。您应该按照说明进行操作,然后重新启动Msys2 shell并再次运行pacman -Syuu
以完全更新的所有组件安装wget和subversion:
pacman -Sy wget subversion
将工作目录更改为步骤3.2中创建的文件夹:
cd /c/R-devel
从这里获取最新的Tcl/Tk捆绑包,一个名为
tcltk-5493-5412.zip
:的文件TCLBUNDLE=tcltk-5493-5412.zip wget https://cran.r-project.org/bin/windows/Rtools/rtools43/files/$TCLBUNDLE
获取最新的R版本(R-devel(,并解压缩Tcl:
svn checkout https://svn.r-project.org/R/trunk cd trunk unzip ../$TCLBUNDLE
4.在/c/R-devel/trunk/src/gnuwin32/
中添加一个MkRules.local
您可以使用Notepad++创建一个包含以下内容的新MkRules.local
文件(在步骤2中将ISDIR = ...
编辑到适当的目录(:
USE_ATLAS = YES
EOPTS = -march=native -pipe
QPDF = /usr
ISDIR = C:/Program Files (x86)/Inno Setup 6
5.调整/c/R-devel/trunk/src/extra/blas/Makefile.win
您可以使用Notepad++将行-L../../../$(IMPDIR) -lR -L"$(ATLAS_PATH)" -lf77blas -latlas
更改为-L../../../$(IMPDIR) -lR -fopenmp -lopenblas
- -L../../../$(IMPDIR) -lR -L"$(ATLAS_PATH)" -lf77blas -latlas
+ -L../../../$(IMPDIR) -lR -fopenmp -lopenblas
6.编译R
运行Msys2 shell并更改到适当的工作目录:
cd /c/R-devel/trunk/src/gnuwin32/
按如下方式设置环境变量(在下面的命令中更新MiKTeX安装目录(:
export PATH=/x86_64-w64-mingw32.static.posix/bin:$PATH export PATH=/c/Users/xxxxxxxx/AppData/Local/Programs/MiKTeX/miktex/bin/x64/:$PATH export TAR="/usr/bin/tar" export TAR_OPTIONS="--force-local"
测试工具是否可用:
which make gcc pdflatex tar
Build R安装程序:
make rsync-recommended make distribution
安装程序将在以下网址提供:
/c/R-devel/trunk/src/gnuwin32/installer/R-devel-win.exe
7.测试我们的R编译是否使用OpenBLAS
与从CRAN下载的Windows标准R相比,以下R代码应该运行得更快:
m <- 10000
n <- 2000
A <- matrix (runif (m*n),m,n)
system.time (S <- svd (A,nu=0,nv=0))
user system elapsed
4.02 0.65 7.83