为什么我不能解决cygwin1.dll不匹配的问题?

为什么我不能解决cygwin1.dll不匹配的问题?

问题描述:

我试图执行一个.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: