在R v3.3.3和64位Win10上使用Rtools一段时间后,我在尝试本地安装时突然遇到以下错误,即compile_dll(pkg = "...", quiet = FALSE)
或
load_all(pkg = "...")
通过devtools
的任何套餐:
*** fatal error - cygheap base mismatch detected
以及错误输出中的以下建议:
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
建议的错误处理都没有带来解决方案。有关的图书馆cygwin1.dll
确实只作为Rtools的一部分出现(即在Rtools文件夹中)。
答案 0 :(得分:5)
发现这与最近的Windows更新有关,即2017-10 Security Update for Adobe Flash Player for Windows 10 Version 1703 for x64-based Systems (KB4049179)
。在Settings / Updates和Security / ...下撤消此更新解决了该问题。不过,我想知道这个问题到底是怎么出现的。请注意,Rtools和Cygwin之间存在其他潜在问题,例如https://www.r-bloggers.com/rtools-and-cygwin-on-ms-windows/所描述的“基本Cygwin库的版本冲突”,但它们似乎与所述问题无关。还要注意,任何自动Windows 10更新只能在安装后的一个月内撤消。