【问题标题】:Failing to install mingw: mingw-get-gui: *** ERROR *** unexpected end of archive reading header recordmingw 安装失败:mingw-get-gui: *** ERROR *** 存档读取头记录意外结束
【发布时间】:2014-03-10 13:15:01
【问题描述】:

我现在尝试安装 mingw 几个小时,但我不断收到以下错误消息:

"安装: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。如果有任何建议,我将非常高兴。

再见!

【问题讨论】:

    标签: gcc installation mingw archive


    【解决方案1】:

    即使这是一个老问题,我也会发布一个答案,以防其他用户再次遇到这个问题。

    我遇到了同样的问题:

    一开始我并没有注意到安装/升级本身出了什么问题,因为图形更新管理器显示了类似“一切顺利”的行 ...

    如果我费心查看日志详细信息,我会看到错误消息 mingw-get-gui: * ERROR * unexpected end of archive reading header record 并立即知道出了点问题(它真的具有误导性,显示一个对话框说任务已成功完成)是错误!)。

    但是关于你的问题(或者至少这是造成我的问题的原因):

    原因

    下载上述存档文件时,很可能出现问题。不幸的是,mingw-get 似乎忽略了下载错误并继续,就好像没有出错一样......因此错误消息 archive header record 无效,因为它不是真正的存档文件,而是文本文件包含 HTML 错误消息。

    更复杂的是,mingw-get 会缓存这些文件,当您尝试重新安装软件包时,它会使用这些无效的缓存文件。

    解决方案

    解决此问题的一种方法是删除缓存的文件,然后重新安装包。 缓存的文件应该在

    <mingw directory>\var\cache\mingw-get\packages
    

    例如 C:\MinGW\var\cache\mingw-get\packages

    旁注:如果您像我一样“丢失”了错误消息,并且不知道哪些包出错了,您可以在缓存目录中搜索包含 HTML 的文件错误信息,例如像&lt;html&gt; 这样的搜索词应该可以工作;这些文件也很小,但也可能存在其他文件大小较小的有效包,这不是明确的标准

    如果您使用mingw-get 工具继续收到错误消息* ERROR * unexpected end of archive reading header record,您也可以尝试手动下载文件并将其放在缓存包的文件夹中。

    要重新安装包,您可以使用mingw-get 的图形界面(例如删除然后安装包),或者例如命令行版本

    mingw-get --reinstall install <package name>
    

    对于mingw 包,&lt;package name&gt; 通常只是文件名的前缀(在第一个版本号之前),例如对于

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

    【讨论】:

      猜你喜欢
      • 2015-03-31
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多