为什么我不能解决cygwin1.dll不匹配的问题? [英] Why can't I fix the cygwin1.dll mismatch issue?
问题描述
我试图执行一个.sh脚本(不是我写的),但出现以下错误:
I'm trying to execute a .sh script (that wasn't written by me) and I get the following error:
0 [main]回显(5320)C:\ Program Files \ Git \ usr \ bin \ echo.exe:***致命错误-检测到cygheap基本不匹配-0x180343408/0x180317408.此问题可能是由于使用了不兼容的cygwin DLL版本.使用Windows开始->查找/搜索工具搜索cygwin1.dll并删除除最新版本以外的所有版本.最新版本应该驻留在x:\ cygwin \ bin中,其中"x"是您拥有的驱动器安装了cygwin发行版.如果您也建议重新启动无法找到另一个cygwin DLL.
0 [main] echo (5320) C:\Program Files\Git\usr\bin\echo.exe: *** fatal error - cygheap base mismatch detected - 0x180343408/0x180317408. 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文件.
I tried to follow the instructions in the error but I only have one cygwin1.dll file.
所以我试图在git bash shell中执行以下命令:
So I tried to execute the following command in a git bash shell:
/c/cygwin/bin/man
/c/cygwin/bin/man
我得到:
0 [main] man(11952)C:\ cygwin \ bin \ man.exe:***致命错误-cygheap检测到基本不匹配-0x180317408/0x180343408.这个问题是可能是由于使用了不兼容的cygwin DLL版本.搜索使用Windows开始"->查找/搜索"工具输入cygwin1.dll,并删除除最新版本以外的所有版本.最新版本应该驻留在x:\ cygwin \ bin中,其中"x"是安装了cygwin发行版的驱动器.还建议重新启动
0 [main] man (11952) C:\cygwin\bin\man.exe: *** fatal error - cygheap base mismatch detected - 0x180317408/0x180343408. 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
我已经尝试在漏洞利用保护面板中禁用ASRL选项(有人建议)并重新启动,但这并不能解决问题.
I already tried to disable ASRL options in the exploit protection panel (as suggested by somebody) and reboot but that didn't fix the problem.
如果我写
其中-a cygwin1.dll
which -a cygwin1.dll
我得到:
/c/cygwin/bin/cygwin1.dll
/c/cygwin/bin/cygwin1.dll
/c/cygwin/bin/cygwin1.dll
/c/cygwin/bin/cygwin1.dll
似乎我有两个cygwin1.dll,但实际上我只有一个.几天以来,我一直在寻找一种可能的解决方案,但似乎没有任何效果.有什么建议吗?
It looks like I have two cygwin1.dll but actually I only have one.. I have been searching for a possible solution since days but nothing seems to work for me. Any suggestion?
推荐答案
虽然错误消息中提到了 cygwin1.dll
,但由于 Git for Windows
是使用 MSYS
并将文件重命名为 msys-2.0.dll
While the error message is mentioning cygwin1.dll
, it is misleading as the Git for Windows
is using MSYS
and the file was renamed msys-2.0.dll
不幸的是,当MSYS团队导入和修改 Cygwin
源代码时,他们忘记更改错误消息:
Unfortunately the MSYS team forgot to change the error messages when they imported and modified the Cygwin
source:
这篇关于为什么我不能解决cygwin1.dll不匹配的问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!