I wanted to write down some thoughts on this which I have all the pieces handy.
We saw a nightly layer check fail for meta-openembedded: https://autobuilder.yoctoproject.org/typhoon/#/builders/121/builds/1798/steps/21/logs/stdio INFO: ====================================================================== INFO: ERROR: test_show_environment (common.CommonCheckLayer) INFO: ---------------------------------------------------------------------- INFO: Traceback (most recent call last): File "/home/pokybuild/yocto-worker/check-layer-nightly/build/scripts/lib/checklayer/cases/common.py", line 48, in test_show_environment check_command('Layer %s failed to show environment.' % self.tc.layer['name'], File "/home/pokybuild/yocto-worker/check-layer-nightly/build/scripts/lib/checklayer/__init__.py", line 287, in check_command raise RuntimeError(msg) RuntimeError: Layer meta-gnome failed to show environment. Command: bitbake -e Output: libgcc_s.so.1 must be installed for pthread_cancel to work Aborted (core dumped) which unsurprisingly is on ubuntn 20.04. We've also seen issues like this on Debian 11. I noticed: https://stackoverflow.com/questions/64797838/libgcc-s-so-1-must-be-installed-for-pthread-cancel-to-work and: https://bugs.ams1.psf.io/issue42888 which led me to try: ubuntu2004-ty-1:~$ wget https://bugs.ams1.psf.io/file50112/pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ echo $? 0 rpurdie@ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py libgcc_s.so.1 must be installed for pthread_cancel to work Aborted (core dumped) ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py libgcc_s.so.1 must be installed for pthread_cancel to work Aborted (core dumped) ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py libgcc_s.so.1 must be installed for pthread_cancel to work Aborted (core dumped) (1 in 4 success) Then adding to the script: import ctypes libgcc_s = ctypes.CDLL('libgcc_s.so.1') ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 pthread_cancel_bug.py ubuntu2004-ty-1:~$ python3 --version Python 3.8.10 I also tried this on debian 11: debian11-ty-1:~$ python3 pthread_cancel_bug.py libgcc_s.so.1 must be installed for pthread_cancel to work Aborted debian11-ty-1:~$ python3 --version Python 3.9.2 where the above workaround using ctypes also seems to work. I'm therefore tempted for python 3.8/3.9 to preload libgcc_s as a workaround for this... Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#192935): https://lists.openembedded.org/g/openembedded-core/message/192935 Mute This Topic: https://lists.openembedded.org/mt/103383243/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-