为什么我不能解决cygwin1.dll不匹配的问题? [英] Why can't I fix the cygwin1.dll mismatch issue?

查看:114
本文介绍了为什么我不能解决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:

这篇关于为什么我不能解决cygwin1.dll不匹配的问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆