mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-26 07:37:14 +00:00
8a7404aa72
do_compile panicked in rice-c/build.rs:
thread 'main' panicked at rice-c/build.rs:101:
Could not find rice-proto.h header
rice-c/build.rs builds the internal rice-proto C library in-tree via
"cargo cinstall --prefix <OUT_DIR>/rice-proto-cbuild" and then locates
it through system-deps + pkg-config. The generated rice-proto.pc carries
an absolute prefix pointing into the in-build OUT_DIR. pkgconfig.bbclass
exports PKG_CONFIG_SYSROOT_DIR=${STAGING_DIR_HOST}, and pkgconf prepends
that sysroot onto the already-absolute prefix, yielding a doubled,
non-existent include path (recipe-sysroot/<abs-build-path>/include/rice).
The header search then fails. The internal lib is never staged in the
sysroot, so sysroot rewriting must not be applied to its .pc.
Clear PKG_CONFIG_SYSROOT_DIR so the internal prefix is used verbatim.
openssl-sys is the only other pkg-config consumer in the crate graph and
would break without the sysroot, so point it at the target openssl
directly via OPENSSL_LIB_DIR/OPENSSL_INCLUDE_DIR (openssl-sys returns
those and skips its pkg-config probe when both are set). Verified a clean
build: rice-proto.h is found and librice-proto/librice-io plus the header
are packaged.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>