我现在尝试安装mingw几个小时,但是我继续收到以下错误消息:
“install:gcc-c ++ - 4.8.1-4-mingw32-bin.tar.lzma 安装gcc-c ++ - 4.8.1-4-mingw32-bin.tar.lzma mingw-get-gui: * ERROR * 归档读取标题记录的意外结束“
并无法找到解决我问题的方法。我试图重新安装7zip,因为我认为它可能是由此造成的。我正在尝试在32位Windows 7上安装gcc。我会非常高兴任何建议。
再见!
答案 0 :(得分:2)
即使这是一个老问题,我也会发布一个答案,以防其他用户再次遇到此问题。
我遇到了同样的问题:
起初我没有注意到安装/升级本身出了什么问题,因为图形更新管理器显示了一行如“一切都成功了” ......
如果我打扰查看日志详细信息,我会看到错误messesage mingw-get-gui: * ERROR * unexpected end of archive reading header record
并立即知道,出现了问题(它真的很误导,显示一个对话框说任务已成功完成当有错误时!)。
但是与你的问题有关(或者至少是这个,是我的问题):
mingw-get
似乎忽略了下载错误并继续,好像什么都没有出错......因此错误消息归档头记录无效,因为它实际上不是归档文件,而是包含HTML错误消息的文本文件。
为了进一步复杂化,mingw-get
缓存这些文件,当您尝试重新安装软件包时,它会使用这些无效的缓存文件。
解决此问题的一种方法是删除缓存的文件,然后重新安装该软件包。 缓存的文件应位于
<mingw directory>\var\cache\mingw-get\packages
e.g。 C:\ MinGW的\ VAR \缓存\ MinGW的,得到\包
旁注:如果你“丢失”了像我这样的错误信息,并且不知道,对于哪些包有错误,你可以在缓存目录中搜索包含HTML的文件错误消息,例如像
<html>
这样的搜索字词应该有用;这些文件也很小,但也可能有其他有效的软件包,文件大小很小,这是没有明确标准的
如果您继续使用* ERROR * unexpected end of archive reading header record
工具收到错误消息mingw-get
,您还可以尝试手动下载该文件并将其放在缓存包的文件夹中。
要重新安装软件包,您可以使用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...
)