| Message ID | 20250915132952.1092546-1-haixiao.yan.cn@windriver.com |
|---|---|
| State | New |
| Headers | show |
| Series | [meta-openembedded,scarthgap] python3-posix-ipc: fix runtime error | expand |
On Mon, 2025-09-15 at 06:29 -0700, Yan, Haixiao (CN) via lists.openembedded.org wrote: > From: Haixiao Yan <haixiao.yan.cn@windriver.com> > > Fix follow runtime error: ./build_support/src/sniff_mq_prio_max: > /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found > (required by > ./build_support/src/sniff_mq_prio_max) > > Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> > --- > ...ndle-runtime-errors-and-return-None-.patch | 47 > +++++++++++++++++++ > .../python/python3-posix-ipc_1.2.0.bb | 1 + > 2 files changed, 48 insertions(+) > create mode 100644 meta-python/recipes-devtools/python/python3- > posix-ipc/0004-build_support-handle-runtime-errors-and-return-None- > .patch > > diff --git a/meta-python/recipes-devtools/python/python3-posix- > ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch > b/meta-python/recipes-devtools/python/python3-posix-ipc/0004- > build_support-handle-runtime-errors-and-return-None-.patch > new file mode 100644 > index 000000000000..e84345a39737 > --- /dev/null > +++ b/meta-python/recipes-devtools/python/python3-posix-ipc/0004- > build_support-handle-runtime-errors-and-return-None-.patch > @@ -0,0 +1,47 @@ > +From b079074048bc33b206b21f73fecb8173cf8adaf0 Mon Sep 17 00:00:00 > 2001 > +From: Haixiao Yan <haixiao.yan.cn@windriver.com> > +Date: Mon, 15 Sep 2025 21:15:45 +0800 > +Subject: [PATCH] build_support: handle runtime errors and return > None for > + invalid max_priority > + > +When cross-compiling, test binaries may fail to execute on the host > system if > +the target toolchain was built against a newer glibc version than > what is > +available on the host. > + > +For example, on Ubuntu 20.04 the following error occurs: > + > +./build_support/src/sniff_mq_prio_max: /lib/x86_64-linux- > gnu/libc.so.6: version > +`GLIBC_2.34' not found (required by > ./build_support/src/sniff_mq_prio_max) > + > +This change ensures that such runtime errors are gracefully handled, > and > +max_priority is set to None when the test binary cannot be executed. > + > +Upstream-Status: Pending Can you please submit this upstream and propose this patch for walnascar as well? If this is not applicable to other branches, please include in commit message why. Thanks, Anuj > + > +Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> > +--- > + build_support/discover_system_info.py | 8 ++++++-- > + 1 file changed, 6 insertions(+), 2 deletions(-) > + > +diff --git a/build_support/discover_system_info.py > b/build_support/discover_system_info.py > +index f6e6c8cbe6ba..4fec48b5529d 100644 > +--- a/build_support/discover_system_info.py > ++++ b/build_support/discover_system_info.py > +@@ -75,8 +75,12 @@ def compile_and_run(filename, linker_options=""): > + if does_build_succeed(filename, linker_options=""): > + try: > + s = subprocess.Popen(["./build_support/src/%s" % > filename[:-2]], > +- > stdout=subprocess.PIPE).communicate()[0] > +- return s.strip().decode() > ++ stdout=subprocess.PIPE, > stderr=subprocess.PIPE) > ++ stdout, stderr = s.communicate() > ++ if s.returncode != 0: > ++ # runtime error > ++ return None > ++ return stdout.strip().decode() > + except Exception: > + # execution resulted in an error > + return None > +-- > +2.25.1 > + > diff --git a/meta-python/recipes-devtools/python/python3-posix- > ipc_1.2.0.bb b/meta-python/recipes-devtools/python/python3-posix- > ipc_1.2.0.bb > index 8147e4108b72..cad140381344 100644 > --- a/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb > +++ b/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb > @@ -12,5 +12,6 @@ SRC_URI += " \ > > file://0001-build_support-use-source-filename-instead-of-foo-for.patch > \ > > file://0002-build_support-handle-empty-max_priority-value-as-Non.patch > \ > > file://0003-build_support-use-does_build_succeed-in-compile_and_.patch > \ > + > file://0004-build_support-handle-runtime-errors-and-return-None-.patch > \ > " > inherit pypi python_setuptools_build_meta > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#119409): > https://lists.openembedded.org/g/openembedded-devel/message/119409 > Mute This Topic: https://lists.openembedded.org/mt/115253607/3616702 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: > https://lists.openembedded.org/g/openembedded-devel/unsub [ > anuj.mittal@intel.com] > -=-=-=-=-=-=-=-=-=-=-=-
On 2025/9/18 09:58, Mittal, Anuj wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > On Mon, 2025-09-15 at 06:29 -0700, Yan, Haixiao (CN) via > lists.openembedded.org wrote: >> From: Haixiao Yan <haixiao.yan.cn@windriver.com> >> >> Fix follow runtime error: ./build_support/src/sniff_mq_prio_max: >> /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found >> (required by >> ./build_support/src/sniff_mq_prio_max) >> >> Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> >> --- >> ...ndle-runtime-errors-and-return-None-.patch | 47 >> +++++++++++++++++++ >> .../python/python3-posix-ipc_1.2.0.bb | 1 + >> 2 files changed, 48 insertions(+) >> create mode 100644 meta-python/recipes-devtools/python/python3- >> posix-ipc/0004-build_support-handle-runtime-errors-and-return-None- >> .patch >> >> diff --git a/meta-python/recipes-devtools/python/python3-posix- >> ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch >> b/meta-python/recipes-devtools/python/python3-posix-ipc/0004- >> build_support-handle-runtime-errors-and-return-None-.patch >> new file mode 100644 >> index 000000000000..e84345a39737 >> --- /dev/null >> +++ b/meta-python/recipes-devtools/python/python3-posix-ipc/0004- >> build_support-handle-runtime-errors-and-return-None-.patch >> @@ -0,0 +1,47 @@ >> +From b079074048bc33b206b21f73fecb8173cf8adaf0 Mon Sep 17 00:00:00 >> 2001 >> +From: Haixiao Yan <haixiao.yan.cn@windriver.com> >> +Date: Mon, 15 Sep 2025 21:15:45 +0800 >> +Subject: [PATCH] build_support: handle runtime errors and return >> None for >> + invalid max_priority >> + >> +When cross-compiling, test binaries may fail to execute on the host >> system if >> +the target toolchain was built against a newer glibc version than >> what is >> +available on the host. >> + >> +For example, on Ubuntu 20.04 the following error occurs: >> + >> +./build_support/src/sniff_mq_prio_max: /lib/x86_64-linux- >> gnu/libc.so.6: version >> +`GLIBC_2.34' not found (required by >> ./build_support/src/sniff_mq_prio_max) >> + >> +This change ensures that such runtime errors are gracefully handled, >> and >> +max_priority is set to None when the test binary cannot be executed. >> + >> +Upstream-Status: Pending > Can you please submit this upstream and propose this patch for > walnascar as well? If this is not applicable to other branches, please > include in commit message why. > > Thanks, > > Anuj It's under review, https://patchwork.yoctoproject.org/project/oe-core/patch/20250917075613.403604-1-haixiao.yan.cn@windriver.com/ //Haixiao > >> + >> +Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> >> +--- >> + build_support/discover_system_info.py | 8 ++++++-- >> + 1 file changed, 6 insertions(+), 2 deletions(-) >> + >> +diff --git a/build_support/discover_system_info.py >> b/build_support/discover_system_info.py >> +index f6e6c8cbe6ba..4fec48b5529d 100644 >> +--- a/build_support/discover_system_info.py >> ++++ b/build_support/discover_system_info.py >> +@@ -75,8 +75,12 @@ def compile_and_run(filename, linker_options=""): >> + if does_build_succeed(filename, linker_options=""): >> + try: >> + s = subprocess.Popen(["./build_support/src/%s" % >> filename[:-2]], >> +- >> stdout=subprocess.PIPE).communicate()[0] >> +- return s.strip().decode() >> ++ stdout=subprocess.PIPE, >> stderr=subprocess.PIPE) >> ++ stdout, stderr = s.communicate() >> ++ if s.returncode != 0: >> ++ # runtime error >> ++ return None >> ++ return stdout.strip().decode() >> + except Exception: >> + # execution resulted in an error >> + return None >> +-- >> +2.25.1 >> + >> diff --git a/meta-python/recipes-devtools/python/python3-posix- >> ipc_1.2.0.bb b/meta-python/recipes-devtools/python/python3-posix- >> ipc_1.2.0.bb >> index 8147e4108b72..cad140381344 100644 >> --- a/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb >> +++ b/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb >> @@ -12,5 +12,6 @@ SRC_URI += " \ >> >> file://0001-build_support-use-source-filename-instead-of-foo-for.patch >> \ >> >> file://0002-build_support-handle-empty-max_priority-value-as-Non.patch >> \ >> >> file://0003-build_support-use-does_build_succeed-in-compile_and_.patch >> \ >> + >> file://0004-build_support-handle-runtime-errors-and-return-None-.patch >> \ >> " >> inherit pypi python_setuptools_build_meta >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#119409): >> https://lists.openembedded.org/g/openembedded-devel/message/119409 >> Mute This Topic: https://lists.openembedded.org/mt/115253607/3616702 >> Group Owner: openembedded-devel+owner@lists.openembedded.org >> Unsubscribe: >> https://lists.openembedded.org/g/openembedded-devel/unsub [ >> anuj.mittal@intel.com] >> -=-=-=-=-=-=-=-=-=-=-=-
diff --git a/meta-python/recipes-devtools/python/python3-posix-ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch b/meta-python/recipes-devtools/python/python3-posix-ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch new file mode 100644 index 000000000000..e84345a39737 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-posix-ipc/0004-build_support-handle-runtime-errors-and-return-None-.patch @@ -0,0 +1,47 @@ +From b079074048bc33b206b21f73fecb8173cf8adaf0 Mon Sep 17 00:00:00 2001 +From: Haixiao Yan <haixiao.yan.cn@windriver.com> +Date: Mon, 15 Sep 2025 21:15:45 +0800 +Subject: [PATCH] build_support: handle runtime errors and return None for + invalid max_priority + +When cross-compiling, test binaries may fail to execute on the host system if +the target toolchain was built against a newer glibc version than what is +available on the host. + +For example, on Ubuntu 20.04 the following error occurs: + +./build_support/src/sniff_mq_prio_max: /lib/x86_64-linux-gnu/libc.so.6: version +`GLIBC_2.34' not found (required by ./build_support/src/sniff_mq_prio_max) + +This change ensures that such runtime errors are gracefully handled, and +max_priority is set to None when the test binary cannot be executed. + +Upstream-Status: Pending + +Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> +--- + build_support/discover_system_info.py | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/build_support/discover_system_info.py b/build_support/discover_system_info.py +index f6e6c8cbe6ba..4fec48b5529d 100644 +--- a/build_support/discover_system_info.py ++++ b/build_support/discover_system_info.py +@@ -75,8 +75,12 @@ def compile_and_run(filename, linker_options=""): + if does_build_succeed(filename, linker_options=""): + try: + s = subprocess.Popen(["./build_support/src/%s" % filename[:-2]], +- stdout=subprocess.PIPE).communicate()[0] +- return s.strip().decode() ++ stdout=subprocess.PIPE, stderr=subprocess.PIPE) ++ stdout, stderr = s.communicate() ++ if s.returncode != 0: ++ # runtime error ++ return None ++ return stdout.strip().decode() + except Exception: + # execution resulted in an error + return None +-- +2.25.1 + diff --git a/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb b/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb index 8147e4108b72..cad140381344 100644 --- a/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb +++ b/meta-python/recipes-devtools/python/python3-posix-ipc_1.2.0.bb @@ -12,5 +12,6 @@ SRC_URI += " \ file://0001-build_support-use-source-filename-instead-of-foo-for.patch \ file://0002-build_support-handle-empty-max_priority-value-as-Non.patch \ file://0003-build_support-use-does_build_succeed-in-compile_and_.patch \ + file://0004-build_support-handle-runtime-errors-and-return-None-.patch \ " inherit pypi python_setuptools_build_meta