无法安装mingw:mingw-get-gui:*错误*存档读取头记录意外结束 [英] Failing to install mingw: mingw-get-gui: *** ERROR *** unexpected end of archive reading header record
问题描述
我现在正在尝试安装mingw几个小时,但不断收到以下错误消息:
安装:GCC-c++-4.8.1-4-mingw32-bin.tar.lzma 安装GCC-c++-4.8.1-4-mingw32-bin.tar.lzma Mingw-get-gui:*错误*档案读取头记录意外结束"并且找不到任何解决我的问题的方法。我试着重新安装7Zip,因为我想可能是因为这个原因。我正在尝试在32位Windows 7上安装GCC。如果有任何建议,我将非常高兴。
再见!
推荐答案
虽然这是一个老问题,但我会发布答案,以防其他用户再次遇到这个问题。
我遇到了同样的问题:
一开始我没有注意到安装/升级本身出了问题,因为图形更新管理器显示了类似"一切顺利"...
这样的行如果我不厌其烦地查看日志详细信息,我会看到错误消息mingw-get-gui: * ERROR * unexpected end of archive reading header record
,并立即知道出了问题(当出现错误时,显示一个对话框说明任务已成功完成,这确实具有误导性!)。
但与您的问题有关(或者至少这是导致我的问题的原因):
原因
下载上述存档文件时很可能出现了错误。不幸的是,mingw-get
似乎忽略了下载错误,并继续进行,就好像什么都没有出错一样……因此,错误消息存档标头记录无效,因为它实际上不是存档文件,而是包含HTML错误消息的文本文件。
使事情进一步复杂化的是,mingw-get
缓存这些文件,当您尝试重新安装程序包时,它会使用这些无效的缓存文件。
解决方案
解决此问题的一种方法是删除缓存的文件,然后重新安装程序包。 缓存的文件应位于
<mingw directory>varcachemingw-getpackages
例如 C:MinGWvarcachemingw-GetPackages
旁注:如果您像我一样"丢失"了错误消息,并且不知道哪个包出现了错误,您可以在缓存目录中搜索包含HTML错误消息的文件,例如,像
<html>
这样的搜索词应该可以使用;这些文件也很小,但也可能有其他文件大小较小的有效包,这不是明确的标准
如果您继续使用mingw-get
工具收到错误消息* ERROR * unexpected end of archive reading header record
,您还可以尝试手动下载该文件,并将其放置在缓存包的文件夹中。
要重新安装软件包,您可以使用mingw-get
的图形界面(例如,删除然后安装软件包)或命令行版本
mingw-get --reinstall install <package name>
对于mingw
包,<package name>
通常只是文件名的前缀(在第一个版本号之前),例如
libiconv-1.14-3-mingw32-dev.tar.lzma
包名应该是libiconv
。对于msys
包,包名称通常带有前缀msys-
,例如类似msys-libopts
(您应该能够通过查看第一个版本号后面的文件名部分来判断它是mingw
还是msys
包,例如libiconv-1.14-3-mingw32-dev.tar.lzma
:...3-mingw32-de...
))
这篇关于无法安装mingw:mingw-get-gui:*错误*存档读取头记录意外结束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!