diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-12-28 10:50:39 +0000 |
---|---|---|
committer | Steve Sakoman <steve@sakoman.com> | 2024-01-05 03:25:38 -1000 |
commit | c0e5370a91c87145d0a8eb753241b04ee3b1928e (patch) | |
tree | 6d1a4ea6a2c9a98fadfc22188af779e7fd77e4f7 | |
parent | e25b0dcc9e82389f48bd8c4ab7c729b9cf6dcbd5 (diff) | |
download | poky-c0e5370a91c87145d0a8eb753241b04ee3b1928e.tar.gz |
bitbake: lib/bb: Add workaround for libgcc issues with python 3.8 and 3.9
With python 3.8 and 3.9, we see intermittent errors of:
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted (core dumped)
which seem related to:
https://stackoverflow.com/questions/64797838/libgcc-s-so-1-must-be-installed-for-pthread-cancel-to-work
https://bugs.ams1.psf.io/issue42888
These tend to occur on debian 11 and ubuntu 20.04.
Workaround this by ensuring libgcc is preloaded in all cases.
(Bitbake rev: 36959b25c64044dd4bca65bd1bb1243823d51545)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r-- | bitbake/lib/bb/__init__.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py index c98e23ce3e..ba8039497f 100644 --- a/bitbake/lib/bb/__init__.py +++ b/bitbake/lib/bb/__init__.py | |||
@@ -15,6 +15,13 @@ import sys | |||
15 | if sys.version_info < (3, 5, 0): | 15 | if sys.version_info < (3, 5, 0): |
16 | raise RuntimeError("Sorry, python 3.5.0 or later is required for this version of bitbake") | 16 | raise RuntimeError("Sorry, python 3.5.0 or later is required for this version of bitbake") |
17 | 17 | ||
18 | if sys.version_info < (3, 10, 0): | ||
19 | # With python 3.8 and 3.9, we see errors of "libgcc_s.so.1 must be installed for pthread_cancel to work" | ||
20 | # https://stackoverflow.com/questions/64797838/libgcc-s-so-1-must-be-installed-for-pthread-cancel-to-work | ||
21 | # https://bugs.ams1.psf.io/issue42888 | ||
22 | # so ensure libgcc_s is loaded early on | ||
23 | import ctypes | ||
24 | libgcc_s = ctypes.CDLL('libgcc_s.so.1') | ||
18 | 25 | ||
19 | class BBHandledException(Exception): | 26 | class BBHandledException(Exception): |
20 | """ | 27 | """ |