【发布时间】:2021-03-07 14:37:31
【问题描述】:
有什么方法可以在 bitbake 期间禁用do_package_qa 步骤
实际上我有一个预编译的二进制文件,我想将它复制到我的 rootfs。我在食谱的do_install 部分尝试了install 和cp。
在这两种情况下,我都遇到了 QA 问题,抱怨在 RDEPENDS 中找不到 libQt5Qml.so 和 libQt5Quick.so。
我尝试过 INSANE_SKIP_${PN} 、 RDEPENDS_${PN} 和 DEPENDS 来抑制错误,但我无法这样做。
有什么方法可以编译我的食谱吗?
食谱
DESCRIPTION = "..."
LICENSE = "CLOSED"
RDEPENDS_${PN} = "qtbase"
SRC_URI = "file://hello.c \
file://basic \
"
S = "${WORKDIR}"
do_compile() {
${CC} hello.c -o hello
}
do_install() {
install -d ${D}/opt/mybin/
install -m 0755 hello ${D}/opt/mybin/
install -m 0755 basic ${D}/opt/mybin/
}
FILES_${PN} = "/opt/mybin/"
INSANE_SKIP_${PN} = "ldflags"
错误
ERROR: my-binary-1.0-r0 do_package_qa: QA Issue: /opt/mybin/basic contained in package my-binary requires libQt5Qml.so.5(Qt_5), but no providers found in RDEPENDS_my-binary? [file-rdeps]
ERROR: my-binary-1.0-r0 do_package_qa: QA Issue: /opt/mybin/basic contained in package my-binary requires libQt5Quick.so.5(Qt_5), but no providers found in RDEPENDS_my-binary? [file-rdeps]
【问题讨论】:
-
显示你的食谱以及错误信息会非常有帮助。
-
@OleksandrKravchuk 请检查
-
INSANE_SKIP_my-binary += "file-rdeps"?但是,该错误是有效的,因为如果您将其静音,您的 rootfs 实际上将不包含这个非版本化的 qt 库,并且您的二进制文件将无法执行。您可以创建一个符号链接到 qt 的版本库,其命名方式与非版本库相同,或者您可以使用 patchelf 修补您的二进制文件并使其使用版本库。 -
INSANE_SKIP_my-binary += "file-rdeps"工作但有一些严重的警告,但我可以忽略这些警告,因为我知道我的目标中所有必需的库都可用。