我正在尝试构建一个自定义的yocto配方,它涉及编译一个小的C程序.在构建期间 -
$ bitbake -f interface-configuration ... ERROR: QA Issue: non debug package contains .debug directory: interface-configuration path /work/cortexa9hf-vfp-poky-linux-gnueabi/interface-configuration/0.1-r0/packages-split/interface-configuration/etc/interfaces/bin/.debug/set ERROR: QA run found fatal errors. Please consider fixing them. ERROR: Function failed: do_package_qa ERROR: Logfile of failure stored in: /home/git/poky/build-atmel/tmp/work/cortexa9hf-vfp-poky-linux-gnueabi/interface-configuration/0.1-r0/temp/log.do_package.28986 ERROR: Task 10 (/home/git/poky/meta-atmel/recipes-intelli/interface-configuration/interface-configuration_0.1.bb, do_package) failed with exit code '1'
我想知道这里是否有人知道如何禁用调试信息或删除QA检查.到目前为止,谷歌搜索错误已经证明毫无结果.
干杯
使用interface-configuration.bb进行更新
DESCRIPTION = "Interface configuration files and tools" SECTION = "examples" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" SRC_URI = "file://interface-configuration-0.1.tar.gz" do_compile() { install -vd ${D}/ ${CC} -g0 set.c -o set # CC is arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mthumb-interwork -mfloat-abi=hard -mtune=cortex-a9 --sysroot=/home/git/poky/build-atmel/tmp/sysroots/sama5d3xek } do_install() { cp -r ${S}/etc ${D}/etc install -vd ${D}/etc/interfaces/bin install -vm 0755 set ${D}/etc/interfaces/bin/ } do_install_append() { # I added this to try to remove the error - it doesn't work rm -rf ${D}/etc/interfaces/bin/.debug } FILES_${PN} += "/etc/interfaces/MANIFEST \ /etc/interfaces/conf/A \ /etc/interfaces/conf/B \ /etc/interfaces/conf/C \ /etc/interfaces/conf/D \ /etc/interfaces/template/A \ /etc/interfaces/template/B \ /etc/interfaces/template/C \ /etc/interfaces/template/D \ /set.c"
silvio.. 14
Yocto/OE .debug
在放置二进制文件的目录下生成一个目录.您使用二进制(install -vm 0755 set ${D}/etc/interfaces/bin
)的非默认目录.您需要声明.debug转到-dbg
包.
你现在有两个选择.首先使用标准目录,${D}/usr/bin
或者第二次将.debug添加到dbg - 这样的包:
FILES_${PN}-dbg += "/etc/interfaces/bin/.debug"
您可以删除您,do_install_append
因为.debug
之后创建了do_install
.
如果使用第二个选项,则需要set debug-file-directory directories
在gdb中配置gdb 选项以调试二进制文件.在这里阅读更多
Yocto/OE .debug
在放置二进制文件的目录下生成一个目录.您使用二进制(install -vm 0755 set ${D}/etc/interfaces/bin
)的非默认目录.您需要声明.debug转到-dbg
包.
你现在有两个选择.首先使用标准目录,${D}/usr/bin
或者第二次将.debug添加到dbg - 这样的包:
FILES_${PN}-dbg += "/etc/interfaces/bin/.debug"
您可以删除您,do_install_append
因为.debug
之后创建了do_install
.
如果使用第二个选项,则需要set debug-file-directory directories
在gdb中配置gdb 选项以调试二进制文件.在这里阅读更多
.debug目录是作为split_and_strip_files
函数的一部分自动生成的meta/classes/package.bbclass
.
此函数获取由此产生的文件do_install
并将它们拆分为多个包:${PN}
包含基本文件和剥离的二进制文件,${PN}-dbg
带有调试符号等.
您可以split_and_strip_files
通过在.bb
文件中添加以下内容来抑制:
INHIBIT_PACKAGE_DEBUG_SPLIT = "1" INHIBIT_PACKAGE_STRIP = "1"
我想你也想简化从你生成的包列表.bb
:
PACKAGES = "${PN}"