Public bug reported:

Hello,

while compiling our software in a Ubuntu jammy docker image I noticed a
backward incompatibility issue in glibc 2.34-0ubuntu3. Our build fails
with:

ld.lld: error: undefined symbol: pthread_yield
>>> referenced by tlibthrd.cxx:1546 (ptlib/unix/tlibthrd.cxx:1546)
>>>               tlib.o:(PTimedMutex::~PTimedMutex()) in archive 
>>> /builds/ExternalLibs/ptlib/2.10.9_1591084383/Applications_ubuntu2004_x64_cxx17_clang10/lib/libpt_d_s.a
>>> did you mean: pthread_yield@GLIBC_2.2.5
>>> defined in: /lib/x86_64-linux-gnu/libc.so.6

The libpt_d_s.a library was statically built on Ubuntu 20.04 and depends
on a lot of pthread symbols:

$ nm 
/builds/ExternalLibs/ptlib/2.10.9_1591084383/Applications_ubuntu2004_x64_cxx17_clang10/lib/libpt_d_s.a|grep
 -i " U pthread"|sort -u
                 U pthread_attr_destroy
                 U pthread_attr_init
                 U pthread_attr_setschedparam
                 U pthread_attr_setschedpolicy
                 U pthread_attr_setstacksize
                 ...
                 U pthread_yield

Recompiling libpt against the current glibc will redirect from
pthread_yield to sched_yield, but nevertheless it would be nice if
existing libraries could be used for the transition phase.

The changes behavior is most likely due to
https://sourceware.org/git/?p=glibc.git;a=commit;h=c2fd60a5861efef48252f5cc7efc70e1d8a0da9a

Thanks,
Gregor

** Affects: glibc (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1949988

Title:
  undefined symbol: pthread_yield

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1949988/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to