botan-2.4.0-r0 do_compile: oe_runmake 失败
botan-2.4.0-r0 do_compile: oe_runmake failed
我尝试在 yocto 中实现 botan 库,我有以下内容的食谱
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://license.txt;md5=bf361fc63df3fa25652ee82c43b7601a"
SRC_URI = "https://cdn-aws.deb.debian.org/debian/pool/main/b/botan/botan_${PV}.orig.tar.gz"
SRC_URI[md5sum] = "e52c6e15c0017eb2d61838f56f051ded"
SRC_URI[sha256sum] = "2d5696c75b89e3c2e888867907764ab063daca9a1a42ea35649792dace4eff83"
S = "${WORKDIR}/${BPN}-2.4.0"
B = "${WORKDIR}/build"
#DEPENDS = "pkgconfig"
inherit autotools pkgconfig
do_install () {
install -d ${D}${libdir}
install -d ${D}${libdir}/.debug/
install -d ${D}${includedir}/botan
install -m 0755 ${B}/libbotan-2.so ${D}${libdir}
install -m 0755 ${B}/libbotan-2.a ${D}${libdir}
install -m 0755 ${WORKDIR}/botan-2.4.0/src/botan/*.hpp ${D}${includedir}/botan
rm ${WORKDIR}/botan-2.4.0/src/botan/*.cpp
rm ${WORKDIR}/botan-2.4.0/src/botan/*.hpp
}
FILES_${PN} += " \
${libdir}/libbotan-2.so \
"
FILES_${PN}-dev += " \
${includedir}/botan/*.hpp \
"
FILES_${PN}-staticdev += " \
${libdir}//libbotan-2.a \
"
FILES_${PN}-dbg += " \
${libdir}/.debug/* \
"
当我尝试 bitbake botan 时,遇到错误:
Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'arm-32', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4
| make: *** No targets specified and no makefile found. Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile
我做错了什么或误解了什么?
我使用 recipetool create https://cdn-aws.deb.debian.org/debian/pool/main/b/botan/botan_2.4.0.orig.tar.gz 创建了这个食谱
我又试了 bitbake -c botan 和 bitbake,还是一样。
错误告诉它在源目录中找不到 Makefile
。从 botan-2.4.0.tar.gz
中存在的 readme.rst
文件可以看出,在开始编译之前到 run ./configure.py
,将生成 Makefile
。所以尝试在你的食谱中添加如下内容
do_configure_prepend() {
${PYTHON} ${S}/configure.py
}
我尝试在 yocto 中实现 botan 库,我有以下内容的食谱
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://license.txt;md5=bf361fc63df3fa25652ee82c43b7601a"
SRC_URI = "https://cdn-aws.deb.debian.org/debian/pool/main/b/botan/botan_${PV}.orig.tar.gz"
SRC_URI[md5sum] = "e52c6e15c0017eb2d61838f56f051ded"
SRC_URI[sha256sum] = "2d5696c75b89e3c2e888867907764ab063daca9a1a42ea35649792dace4eff83"
S = "${WORKDIR}/${BPN}-2.4.0"
B = "${WORKDIR}/build"
#DEPENDS = "pkgconfig"
inherit autotools pkgconfig
do_install () {
install -d ${D}${libdir}
install -d ${D}${libdir}/.debug/
install -d ${D}${includedir}/botan
install -m 0755 ${B}/libbotan-2.so ${D}${libdir}
install -m 0755 ${B}/libbotan-2.a ${D}${libdir}
install -m 0755 ${WORKDIR}/botan-2.4.0/src/botan/*.hpp ${D}${includedir}/botan
rm ${WORKDIR}/botan-2.4.0/src/botan/*.cpp
rm ${WORKDIR}/botan-2.4.0/src/botan/*.hpp
}
FILES_${PN} += " \
${libdir}/libbotan-2.so \
"
FILES_${PN}-dev += " \
${includedir}/botan/*.hpp \
"
FILES_${PN}-staticdev += " \
${libdir}//libbotan-2.a \
"
FILES_${PN}-dbg += " \
${libdir}/.debug/* \
"
当我尝试 bitbake botan 时,遇到错误:
Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'arm-32', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4
| make: *** No targets specified and no makefile found. Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile
我做错了什么或误解了什么? 我使用 recipetool create https://cdn-aws.deb.debian.org/debian/pool/main/b/botan/botan_2.4.0.orig.tar.gz 创建了这个食谱 我又试了 bitbake -c botan 和 bitbake,还是一样。
错误告诉它在源目录中找不到 Makefile
。从 botan-2.4.0.tar.gz
中存在的 readme.rst
文件可以看出,在开始编译之前到 run ./configure.py
,将生成 Makefile
。所以尝试在你的食谱中添加如下内容
do_configure_prepend() {
${PYTHON} ${S}/configure.py
}