Bitbake构建失败因为Python函数。

4
在执行bitbake命令期间,构建rpm软件包的任务由于Python函数而失败。我无法确定是什么导致该函数失败。你们有什么想法吗?
    ERROR: perl-5.30.1-r0 do_package_write_rpm: Error executing a python function in exec_func_python() 
autogenerated:The stack trace of python calls that resulted in this exception/failure was: File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
0001: *** 
0002:do_package_rpm(d)     
0003:
File: '/srv/yocto/poky/meta/classes/package_rpm.bbclass', lineno: 712, function: do_package_rpm     
0708:     
0709:    # Build the rpm package!     
0710:    d.setVar('BUILDSPEC', cmd + \"\\n\" + cleanupcmd + \"\\n\")     
0711:    d.setVarFlag('BUILDSPEC', 'func', '1')
0712:    bb.build.exec_func('BUILDSPEC', d)     
0713:     
0714:    if d.getVar('RPM_SIGN_PACKAGES') == '1':
0715:        bb.build.exec_func(\"sign_rpm\", d)     
0716:}
File: '/srv/yocto/poky/bitbake/lib/bb/build.py', lineno: 254, function: exec_func     
0250:    with bb.utils.fileslocked(lockfiles):     
0251:    if ispython:     
0252:            exec_func_python(func, d, runfile, cwd=adir)     
0253:    else: *** 
0254:            exec_func_shell(func, d, runfile, cwd=adir)     
0255:     
0256:    try:     
0257:        curcwd = os.getcwd()     
0258:    except:
File: '/srv/yocto/poky/bitbake/lib/bb/build.py', lineno: 455, function: exec_func_shell     
0451:    with open(fifopath, 'r+b', buffering=0) as fifo:     
0452:        try:     
0453:            bb.debug(2, \"Executing shell function %s\" % func)    
0454:            with open(os.devnull, 'r+') as stdin, logfile: *** 
0455:                bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])     
0456:        finally:     
0457:            os.unlink(fifopath)    
0458:     
0459:    bb.debug(2, \"Shell function %s finished\" % func)
File: '/srv/yocto/poky/bitbake/lib/bb/process.py', lineno: 184, function: run     
0180:     
0181:    if pipe.returncode != 0:     
0182:        if log:     
0183:            # Don't duplicate the output in the exception if logging it *** 
0184:            raise ExecutionError(cmd, pipe.returncode, None, None)     
0185:        raise ExecutionError(cmd, pipe.returncode, stdout, stderr)     
0186:    return stdout, stderr Exception: bb.process.ExecutionError: Execution of '/srv/yocto/build/tmp/work/corei7-64-poky-linux/perl/5.30.1-r0/temp/run.BUILDSPEC.35372' failed with exit code 1

你找到解决方案了吗?我也遇到了同样的问题... - user3775041
很遗憾,我没有。查看日志文件后,我注意到在我在问题中发布的错误之前出现了以下错误:“已使用过时的外部依赖项生成器! 创建归档文件失败:cpio:write 警告:来自shell命令的退出代码1。”我已经联系了yocto邮件列表中的一些开发人员,其中一位建议在bitbake命令上运行'strace'。但是,它产生了太多的输出,所以并没有真正有用。 - Maksym Iliev
2个回答

1

我曾经遇到相同的问题,原因是我的配方中的SECTION变量为空(SECTION = "")。我给它赋值,例如SECTION=“a”,这样问题就得到了解决。


0

我曾经遇到同样的问题,后来发现我的系统缺少了一些先决条件,这里有定义:https://docs.yoctoproject.org/3.3.3/ref-manual/system-requirements.html

执行以下命令解决了我的问题:

sudo apt-get install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit mesa-common-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接