sa8295 yocto 编译问题

问题1 :fatal: Not a valid object name 264fbb8e70daadd2766da5e66abd4d815935a336:qtiquingvm8295/gbm

问题现象: 用bitbake -k 编译全部镜像,发现此类错误有30多个

ERROR: gbm-1.0+git-r2 do_unpack: Fetcher failure: Fetch command export PSEUDO_DISABLED=1; export DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-3lYlyESKKq"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/scripts:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/recipe-sysroot-native/usr/bin/aarch64-oe-linux:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/recipe-sysroot/usr/bin/crossscripts:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/recipe-sysroot-native/usr/sbin:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/recipe-sysroot-native/usr/bin:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/recipe-sysroot-native/sbin:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/recipe-sysroot-native/bin:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/bitbake/bin:/home/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/hosttools"; export HOME="/home/user"; git -c core.fsyncobjectfiles=0 read-tree 264fbb8e70daadd2766da5e66abd4d815935a336:qtiquingvm8295/gbm failed with exit code 128, output:
fatal: Not a valid object name 264fbb8e70daadd2766da5e66abd4d815935a336:qtiquingvm8295/gbm

问题分析:使用bitbake -D -c do_fetch 单个package,发现执行的命令如下:

#do_fetch

LANG=C git -c core.fsyncobjectfiles=0 clone --bare --mirror "/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/prebuilt_HY11/.git" /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2/home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git --progress

 git -c core.fsyncobjectfiles=0 log --pretty=oneline -n 1 8a3716030c674f59a2c4a0053be9ada932aa42fd -- 2> /dev/null | wc -l' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2/home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git
 
 git -c core.fsyncobjectfiles=0 log --pretty=oneline -n 1 8a3716030c674f59a2c4a0053be9ada932aa42fd -- 2> /dev/null | wc -l' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2/home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git
 
 git -c core.fsyncobjectfiles=0 grep lfs master:.gitattributes | wc -l' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2/home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git
 
  tar -czf /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2_home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git.tar.gz .' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2/home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git
  
  touch /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2_home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git.tar.gz.done
  
 #do_unpack
 
 git -c core.fsyncobjectfiles=0 log --pretty=oneline -n 1 8a3716030c674f59a2c4a0053be9ada932aa42fd -- 2> /dev/null | wc -l' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2/home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git
 
 git -c core.fsyncobjectfiles=0 clone -s -n /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/downloads/git2/home.user.qualcomm_work.qcom_linux.sa8295p-hqx-1-0_hlos_dev_lv.lvgvm.apps_proc.prebuilt_HY11..git/ /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/gbm/
 
 git -c core.fsyncobjectfiles=0 remote set-url origin "file:///home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/prebuilt_HY11/.git"' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/gbm/
 
 git -c core.fsyncobjectfiles=0 grep lfs origin/master:.gitattributes | wc -l' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/gbm/
 
 git -c core.fsyncobjectfiles=0 read-tree 8a3716030c674f59a2c4a0053be9ada932aa42fd:qtiquingvm8295/gbm' in /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/qtiquingvm8295-oe-linux/gbm/1.0+git-r2/gbm/

整个执行的过是以本地的文件为prebuilt_HY11仓库,这个目录下的.git是在
source build/conf/set_bb_env.sh时建立的,可以参考set_bb_env.sh中的

#init local git if it does not exist
function init_localgit() {
if [ -f "${WS}/localgit" ]
then
    cat ${WS}/localgit | while read line
    do
        if [ -d "${WS}/$line" ]
        then
            cd ${WS}/$line
            if [ ! -d ".git" ]
            then
                git init && git add . && git commit -m "Init new git project" >> /dev/null 2>&1 
            fi
        fi
    done
else
    echo "Get init local git list"
    touch ${WS}/localgit
    cat ${WS}/release/for_p4 | while read line
    do
        if grep -q "\"$line\"" ${WS}/.repo/manifests/default.xml
        then
            strmeta="meta-qti"
            if [[ $line != *$strmeta* ]]
            then
                echo $line >> ${WS}/localgit
            fi
        fi
    done
    echo "prebuilt_HY11" >> ${WS}/localgit
    echo "prebuilt_HY22" >> ${WS}/localgit
    sync
fi
}

尝试过一步步执行do_unpack中的命令,或删除.git,再编译单个包,都出现问题,最后发现对应的子目录qtiquingvm8295/也有.git,删除后编译即可

问题解决:删除prebuilt_HY11目录及子目录下的.git,在初始化设置环境变量时,让脚步自行设置

问题2 :Failed to load or import from ExtUtils::ParseXS (version 3.40).

问题现象:构建libxml-parser-perl-native-2.46-r0 do_compile

ERROR: libxml-parser-perl-native-2.46-r0 do_compile: oe_runmake failed
ERROR: libxml-parser-perl-native-2.46-r0 do_compile: Execution of '/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/temp/run.do_compile.32053' failed with exit code 1:
make[1]: Entering directory '/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/XML-Parser-2.46/Expat'
"/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Expat.bs ../blib/arch/auto/XML/Parser/Expat/Expat.bs 644
"/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/perl" "/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/lib/perl5/5.30.1/ExtUtils/xsubpp" -noprototypes -typemap '/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/lib/perl5/5.30.1/ExtUtils/typemap' -typemap '/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/XML-Parser-2.46/Expat/typemap'  Expat.xs > Expat.xsc
*** Module name IN: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.30.1/x86_64-linux/Cwd.pm
*** p1: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/  p3: perl5/5.30.1/  p5: x86_64-linux/ p7: Cwd.pm
*** Module name OUT: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/lib/perl5/5.30.1/x86_64-linux/Cwd.pm
*** Module name IN: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.30.1/x86_64-linux/re.pm
*** p1: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/  p3: perl5/5.30.1/  p5: x86_64-linux/ p7: re.pm
*** Module name OUT: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/lib/perl5/5.30.1/x86_64-linux/re.pm
Failed to load or import from ExtUtils::ParseXS (version 3.40). Please check that ExtUtils::ParseXS is installed correctly and that the newest version will be found in your @INC path: Can't locate loadable object for module re in @INC (@INC contains: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/site_perl/5.30.1/x86_64-linux /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/site_perl/5.30.1 /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/vendor_perl/5.30.1 /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.30.1/x86_64-linux /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.30.1 /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/perl-native/5.30.1-r0/recipe-sysroot-native/usr/lib/perl5/site_perl/5.30.1/x86_64-linux /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/perl-native/5.30.1-r0/recipe-sysroot-native/usr/lib/perl5/site_perl/5.30.1 /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/perl-native/5.30.1-r0/recipe-sysroot-native/usr/lib/perl5/vendor_perl/5.30.1/x86_64-linux /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/perl-native/5.30.1-r0/recipe-sysroot-native/usr/lib/perl5/vendor_perl/5.30.1 /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/perl-native/5.30.1-r0/recipe-sysroot-native/usr/lib/perl5/5.30.1/x86_64-linux /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/perl-native/5.30.1-r0/recipe-sysroot-native/usr/lib/perl5/5.30.1) at /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.30.1/ExtUtils/ParseXS.pm line 375.
Compilation failed in require at /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.30.1/ExtUtils/ParseXS.pm line 375.
BEGIN failed--compilation aborted at /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.30.1/ExtUtils/ParseXS.pm line 375.
Compilation failed in require at /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/recipe-sysroot-native/usr/lib/perl5/5.30.1/ExtUtils/xsubpp line 6.
Makefile:338: recipe for target 'Expat.c' failed
make[1]: *** [Expat.c] Error 255
make[1]: Leaving directory '/home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/XML-Parser-2.46/Expat'
Makefile:538: recipe for target 'subdirs' failed
make: *** [subdirs] Error 2
WARNING: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/temp/run.do_compile.32053:1 exit 1 from 'exit 1'

ERROR: Logfile of failure stored in: /home/user/qualcomm_work/qcom_linux/sa8295p-hqx-1-0_hlos_dev_lv/lvgvm/apps_proc/poky/build/tmp-glibc/work/x86_64-linux/libxml-parser-perl-native/2.46-r0/temp/log.do_compile.32053

问题分析:查看当前ExtUtils::ParseXS版本

$ perl -v | head -2 | tail -1
This is perl 5, version 22, subversion 0 (v5.22.0) built for x86_64-linux
$ perl -MExtUtils::ParseXS -E 'say $ExtUtils::ParseXS::VERSION'
3.18

google下载最新的ExtUtils::ParseXS,

$ tar zxvf ExtUtils-ParseXS-3.44.tar.gz
$ cd ExtUtils-ParseXS-3.44
$ perl Makefile.PL
$ make
$ make test

发现不起作用,这个工具是包含在perl里的,下载安装perl-5.34.0.tar.gz后,再bitbake 成功

$ tar -xzf perl-5.x.y.tar.gz
$ cd perl-5.x.y
$ ./Configure -de
$ make
$ make test
$ make install

note:可能root用户和普通user使用的不是相同的perl

解决方案:
下载最新的超过ExtUtils::ParseXS (version 3.40)的perl,编译安装即可

问题3 : Retrying server connection…

问题分析:在bitbake整个项目的过程中使用 CTRL + C中断,再执行编译操作时 一直出现Retrying server connection…

问题解决:删除bitbake.lock

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值