yocto使用主机perl安装打开嵌入式配方

问题描述 投票:2回答:1

我正在使用yocto(版本为morty),我正在看一个我正在尝试为heimdal创建的配方问题(https://github.com/heimdal/heimdal)。在配置期间,它最终使用主机的perl安装而不是perl构建依赖项。所以它适用于任何有perl和安装模块的机器,但我不认为这是yocto应该如何工作(如果我错了,请纠正我)。

我的猜测是,这是Heimdal的configure.ac文件中的错误,或者是autotools的错误。我不是用autotools超级精明,想知道是否有人可以证实这一点?这是他们的configure.ac的直接链接

https://github.com/heimdal/heimdal/blob/master/configure.ac

当然,这也可能是我的食谱中的一个错误:

SUMMARY = "A Kerberos 6 Implementation"

SRC_URI = "\
  git://github.com/heimdal/heimdal.git;protocol=https;branch=master \
"
SRCREV = "e21866f7a29ab9d0fcf69efddaec6f758faf7494"
LICENSE = "BSD-3-Clause"
S = "${WORKDIR}/git"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2580e0b4d85feafcd5c339f5be3c8229"

DEPENDS = "perl json-perl"

inherit autotools

PACKAGECONFIG = "pk-init mmap"

# Features
PACKAGECONFIG[afs-support] = "--enable-afs-support,--disable-afs-support"
PACKAGECONFIG[kcm] = "--enable-kcm,--disable-kcm"
PACKAGECONFIG[otp] = "--enable-otp,--disable-otp"
PACKAGECONFIG[pk-init] = "--enable-pk-init,--disable-pk-init"
PACKAGECONFIG[heimdal-documentation] = "--enable-heimdal-documentation,--disable-heimdal-documentation"
PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
PACKAGECONFIG[sqlist-cache] = "--enable-sqlist-cache,--disable-sqlist-cache"
PACKAGECONFIG[ndmb-db] = "--enable-ndmb-db,--disable-ndmb-db"
PACKAGECONFIG[mdb-db] = "--enable-mdb-db,--disable-mdb-db"
PACKAGECONFIG[osfc2] = "--enable-osfc2,--disable-osfc2"

# Packages
PACKAGECONFIG[berkley-db] = "--with-berkley-db,--without-berkley-db"
PACKAGECONFIG[ipv6] = "--with-ipv6,--without-ipv6"

此外,我正在使用open-embedded(版本morty)默认perl配方和这个json-perl配方:

DESCRIPTION = "This module is a thin wrapper for JSON::XS-compatible modules with a few \
additional features. All the backend modules convert a Perl data structure \
to a JSON text as of RFC4627 (which we know is obsolete but we still stick \
to; see below for an option to support part of RFC7159) and vice versa. \
This module uses JSON::XS by default, and when JSON::XS is not available, \
this module falls back on JSON::PP, which is in the Perl core since 5.14. \
If JSON::PP is not available either, this module then falls back on \
JSON::backportPP (which is actually JSON::PP in a different .pm file) \
bundled in the same distribution as this module. You can also explicitly \
specify to use Cpanel::JSON::XS, a fork of JSON::XS by Reini Urban."

SECTION = "libs"
LICENSE = "Artisticv1 | GPLv1+"
PR = "r0"

MAINTAINER= "Poky <[email protected]>"
HOMEPAGE=   "https://metacpan.org/release/JSON"

LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \
file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d"

SRC_URI = "https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI/JSON-2.97001.tar.gz"

SRC_URI[md5sum] = "693d6ff167496362f8ec6c3c5b8ba5ee"
SRC_URI[sha256sum] = "e277d9385633574923f48c297e1b8acad3170c69fa590e31fa466040fc6f8f5a"

S = "${WORKDIR}/JSON-${PV}"

inherit cpan allarch

BBCLASSEXTEND = "native"
yocto openembedded
1个回答
1
投票

Perl使用nativeperl作为perl二进制文件,所以,我想,你应该修补项目的configure.ac以使用AC_PATH_PROG更改PERL变量的值,检查this

此外,你需要have

inherit perlnative 
© www.soinside.com 2019 - 2024. All rights reserved.