Libgcc_s.so.1 must be installed for pthread_cancel to work

Hi, all.

My system always report this error “libgcc_s.so.1 must be installed for pthread_cancel to work” when I run any o2 workflows.

libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted (core dumped)

How can I remove this messages?

Hi @jaehyun, could you run the same command that you run to get the error, but with strace -o strace.log in front, for example:

$ strace -o strace.log o2-sim-whatever

…and then attach the resulting strace.log file? Thanks!

(Edit: You may have to install strace if it is not already installed. The package is almost certainly called strace, so a sudo apt install strace or sudo yum install strace or the equivalent for your platform should install it.)

Here I attach a log (just simple command within o2 environment : alien-token-init)

strace.log (1.6 MB)

Thank you @jaehyun.

What happens if you run your command with LD_PRELOAD=/run/media/root/Simulation7/2022pp/Test/526612/2000/pvtx.cern.x10/SA0.vtxUpdate.allpT/sw/slc7_x86-64/GCC-Toolchain/v12.2.0-alice1-5/lib64/libgcc_s.so.1 in front?

What do you get if you run ls -l /usr/lib64/libc.so.6? It should show something like lrwxrwxrwx [...] /usr/lib64/libc.so.6 -> libc-2.17.so. If the version number after the -> is not 2.17, that may be a problem.

I also see that alien-token-init is loading libssl and libcrypto from your system. It should use the one from aliBuild, as far as I know. The system one may be loading a conflicting libgcc_s.

What alidist commit are you using? Are you using any special options to aliBuild when building?

Thank you @twilken

Here I attach another strace.log with run command you suggested in front.
(But still reports “libgcc_s.so.1 must be installed for pthread_cancel to work”)

strace.1.log (1.6 MB)

ls -l /usr/lib/libc.so.6
lrwxrwxrwx. 1 root root 12 Jul 11 12:25 /usr/lib/libc.so.6 → libc-2.17.so

I used O2@daily-20230711-0200 with aliBuild build O2–defaults o2 --jobs 8.
But before I successfully built the o2 with this version, I had once tried to use --always-prefer-system option.

Thanks @jaehyun!

The aliBuild command you gave me looks good.

What commit is checked out in alidist, i.e. what does cd alidist && git rev-parse HEAD show?

Which version of aliBuild do you have, i.e. what does aliBuild version show?

Thanks @twilken
cd alidist && git rev-parse HEAD
→ 3d01d08e0b1b490df403f98e41f0b217ca95a9f8

aliBuild version: 1.14.5 (slc7_x86-64)

@twilken I also have this problem with both the cvmfs and alibuild software on my centos7 cluster and our solution was to run all jobs in a centos7 container where this symptom did no appear. (standalone installation of alien.py, so with system python, does not show the problem)
I also found a work-around by putting on top of alien.py main script the following:

import ctypes
libgcc_s = ctypes.CDLL('libgcc_s.so.1')

this seems to solve the problem but i’m not sure how portable it is …
i did a gcc_load branch GitHub - adriansev/jalien_py at gcc_load
with the above preload, do you have a possibility to check if this would work on all platforms?