• 【Buildroot】记一次编译出错gzip: popt-1.16.tar.gz: not in gzip format--更改br里面的默认下载地址


    文章目录

    我在一次正常的编译过程中遇到了,如下的错误:

    root@ubuntu:/home/liefyuan/Linux/rk356x_linux/buildroot# make -j16
    make: Circular /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/iproute2-4.14.1/.stamp_configured <- busybox dependency dropped.
    >>> popt 1.16 Extracting
    gzip -d -c /home/liefyuan/Linux/rk356x_linux/buildroot/dl/popt-1.16.tar.gz | tar --strip-components=1 -C /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16   -xf -
    
    gzip: /home/liefyuan/Linux/rk356x_linux/buildroot/dl/popt-1.16.tar.gz: not in gzip format
    tar: This does not look like a tar archive
    tar: Exiting with failure status due to previous errors
    package/pkg-generic.mk:159: recipe for target '/home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_extracted' failed
    make: *** [/home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_extracted] Error 2
    
    
    ....
    
    
    root@ubuntu:/home/liefyuan/Linux/rk356x_linux/buildroot# make popt-rebuild
    rm -f /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_staging_installed
    rm -f /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_target_installed
    rm -f /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_images_installed
    rm -f /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_host_installed
    touch /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_built || true
    rm -f /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_built
    >>> popt 1.16 Extracting
    gzip -d -c /home/liefyuan/Linux/rk356x_linux/buildroot/dl/popt-1.16.tar.gz | tar --strip-components=1 -C /home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16   -xf -
    
    gzip: /home/liefyuan/Linux/rk356x_linux/buildroot/dl/popt-1.16.tar.gz: not in gzip format
    tar: This does not look like a tar archive
    tar: Exiting with failure status due to previous errors
    package/pkg-generic.mk:159: recipe for target '/home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_extracted' failed
    make: *** [/home/liefyuan/Linux/rk356x_linux/buildroot/output/build/popt-1.16/.stamp_extracted] Error 2
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    总结来说就是:在解压 buildroot/dl/popt-1.16.tar.gz 这个文件的时候,解压命令不好使了,没法解压,不像是gzip的格式!

    好,那我拷贝出来直接解压看看:

    liefyuan@ubuntu:~/work$ tar -xf popt-1.16.tar.gz 
    
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    liefyuan@ubuntu:~/work$ tar -zxf popt-1.16.tar.gz 
    
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    使用file命令看一下文件格式:

    liefyuan@ubuntu:~/work$ file popt-1.16.tar.gz 
    popt-1.16.tar.gz: HTML document, UTF-8 Unicode text, with very long lines
    
    • 1
    • 2

    哦豁,这居然是个HTML文档!

    我看看其他正常的压缩文件是咋样的

    liefyuan@ubuntu:~/work$ file buildroot-2022.05.tar.gz 
    buildroot-2022.05.tar.gz: gzip compressed data, last modified: Mon Jun  6 20:21:50 2022, max compression, from Unix
    
    • 1
    • 2

    没问题,说明就是那个压缩文件有问题!
    去源地址下载
    通过在buildroot/package/popt/popt.mk文件可以知道:

    ################################################################################
    #
    # popt
    #
    ################################################################################
    
    POPT_VERSION = 1.16
    POPT_SITE = http://rpm5.org/files/popt
    POPT_INSTALL_STAGING = YES
    POPT_LICENSE = MIT
    POPT_LICENSE_FILES = COPYING
    POPT_AUTORECONF = YES
    POPT_GETTEXTIZE = YES
    POPT_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES)
    
    POPT_CONF_ENV = ac_cv_va_copy=yes
    
    ifeq ($(BR2_PACKAGE_LIBICONV),y)
    POPT_CONF_ENV += am_cv_lib_iconv=yes
    POPT_CONF_OPTS += --with-libiconv-prefix=$(STAGING_DIR)/usr
    POPT_DEPENDENCIES += libiconv
    endif
    
    $(eval $(autotools-package))
    $(eval $(host-autotools-package))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    文件地址在:http://rpm5.org/files/popt
    在这里插入图片描述文件2010年就在这里了,那应该文件没有问题!
    我直接下载替换,看看情况

    卧槽!直接下载的文件也不行啊!

    liefyuan@ubuntu:~/work/qt-work$ tar -xvf popt-1.16.tar.gz 
    
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    
    • 1
    • 2
    • 3
    • 4
    • 5

    重新找到一个地址:http://ftp.rpm.org/popt/releases/historical/

    在这里插入图片描述
    这个网站下载的这个文件是没有问题的!

    liefyuan@ubuntu:~/work/qt-work$ file popt-1.16.tar_2.gz 
    popt-1.16.tar_2.gz: gzip compressed data, last modified: Tue May  4 20:56:51 2010, max compression, from Unix
    liefyuan@ubuntu:~/work/qt-work$ tar -xvf popt-1.16.tar.gz 
    popt-1.16/
    popt-1.16/depcomp
    popt-1.16/COPYING
    popt-1.16/README
    popt-1.16/popt.pc.in
    ....
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    直接替换进去试试

    make popt-rebuild
    
    • 1

    没有问题!
    估计是那个地址是有问题的!

    把这个地址替换进去:http://ftp.rpm.org/popt/releases/historical/popt-1.16.tar.gz
    替换:buildroot/package/popt/popt.mk文件里面的下载地址!

  • 相关阅读:
    8月算法训练------第十天(分治算法)解题报告
    电话状态权限及IMEI获取流程源码分析
    PASCAL数据集说明
    【ComfyUI】安装 之 window版
    HBuilder X配置代码块快速创建代码 VSCode配置代码块保姆级教程
    LeteCode第319场周赛
    B+树索引(10)之回表的代价
    VIT理论代码详解
    基于 arm64 Linux nanosleep 系统调用流程分析
    【软件测试】理论知识基础第一章
  • 原文地址:https://blog.csdn.net/qq_28877125/article/details/128281075