未能安装mingw:mingw-get-gui:***错误***存档读取标题记录的意外结束

时间:2014-03-10 13:15:01

标签: gcc installation mingw archive

我现在尝试安装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。我会非常高兴任何建议。

再见!

1 个答案:

答案 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...