diff mbox series

[meta-openembedded,scarthgap] python3-posix-ipc: fix runtime error

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

Commit Message

Yan, Haixiao (CN) Sept. 15, 2025, 1:29 p.m. UTC
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

Comments

Anuj Mittal Sept. 18, 2025, 1:58 a.m. UTC | #1
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]
> -=-=-=-=-=-=-=-=-=-=-=-
Yan, Haixiao (CN) Sept. 18, 2025, 2:46 a.m. UTC | #2
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 mbox series

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
+
+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