From bf169df3f483264385555de1ccb691e8904ec8c7 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 18 Mar 2024 22:23:51 -0400 Subject: [PATCH] python3-grpcio: add bbappend Add bbappend to tweak the LDFLAGS used when building for RISC-V so that libatomic gets linked as is required. See the comment in the .inc file for more information. Bug-AGL: SPEC-5011 Change-Id: I90f839be8cbaf527c11508476ab6dd5ab6eb8799 Signed-off-by: Scott Murray Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29746 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account --- recipes-devtools/python/python3-grpcio_1.45.0.bbappend | 1 + recipes-devtools/python/python3-grpcio_agldemo.inc | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 recipes-devtools/python/python3-grpcio_1.45.0.bbappend create mode 100644 recipes-devtools/python/python3-grpcio_agldemo.inc diff --git a/recipes-devtools/python/python3-grpcio_1.45.0.bbappend b/recipes-devtools/python/python3-grpcio_1.45.0.bbappend new file mode 100644 index 000000000..26036fc88 --- /dev/null +++ b/recipes-devtools/python/python3-grpcio_1.45.0.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'python3-grpcio_agldemo.inc', '', d)} diff --git a/recipes-devtools/python/python3-grpcio_agldemo.inc b/recipes-devtools/python/python3-grpcio_agldemo.inc new file mode 100644 index 000000000..8236a341b --- /dev/null +++ b/recipes-devtools/python/python3-grpcio_agldemo.inc @@ -0,0 +1,17 @@ +# For some reason the atomics presence test in the grpc build +# passes on RISC-V even though linking with libatomic is actually +# needed. There are some mentions on the web of some atomics +# support incorrectly being in the libc stub on RISC-V, so a +# fix could be tracking down if that is the case and if it has +# been fixed in newer libc. Otherwise, the compile test in grpc +# will need to be changed to some other function that is known to +# only be in libatomic on RISC-V. +# +# The next problem is that setting GRPC_PYTHON_LDFLAGS to any value +# ends up not adding linking with pthread due to the way the logic +# is set up, so we need to actually add it explicitly. The upstream +# recipe seems slightly broken in this respect. + +GRPC_LDFLAGS ?= " -lpthread" +GRPC_LDFLAGS:append:riscv64 = " -latomic" +export GRPC_PYTHON_LDFLAGS = "${GRPC_LDFLAGS}" -- 2.16.6