I have an python application that uses the FTDI driver library named:
/usr/local/lib64/libftd2xx.so.1.4.22
When I run the application using libc 2.27, it works fine.
When running it against libc 2.32 it fails with the following:
/usr/local/lib64/libftd2xx.so: undefined symbol: stime
While looking at the libc release, indeed there is something related to stime from libc 2.31 as described at: https://lwn.net/Articles/811315/
It says:
"The obsolete function stime is no longer available to newly linked binaries, and its declaration has been removed from <time.h>."
My understanding from this is that only "new code" cannot compile/link with this function but an existing library that were using this function should still work.
In fact if I look for the stime symbol the rough the below command in both 2.27 and the 2.32 I find that stime is there:
2.27
root@PPL23:~# nm --demangle --dynamic --defined-only --extern-only /lib/x86_64-linux-gnu/libc-2.27.so* | grep stime
00000000000d5ee0 T stime
2.32
localhost /tmp # nm --demangle --dynamic --defined-only --extern-only /lib64/libc-2.32.so | grep stime
000000000012e490 T stime@GLIBC_2.2.5
Why is libc 2.32 not backward compatible with the existing FTDI driver? Shouldn't that work even with 2.32 version since the symbol seems to be there?