https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115907
cqwrteur <unlvsur at live dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|INVALID |--- --- Comment #43 from cqwrteur <unlvsur at live dot com> --- (In reply to Andrew Pinski from comment #42) > (In reply to frankhb1989 from comment #41) > > I ran into exact the same trouble of C23 missing symbols on old systems. In > > my case it is a custom build (with tailored source) of libfreeimage which > > has some calls to `sscanf` pulling the unwanted symbol references (to > > `__isoc23_sscanf@GLIBC_2.38`) into the library > > That is not a glibc issue but rather you are thinking glibc will be forwards > compatible; glibc is not and never can be; this is true for almost all OS > out there (Mac OS has a similar issue though they provide sysroots with all > needed headers/libraries so it is slightly easier to handle rather than you > need to go out and find one). It is definitely backwards compatiable. If you > want to build a program that runs on older systems you 100% need to use the > earliest version of glibc to link (and use headers from) against rather than > the newest version. This is completely BS. Old libc cannot build with the latest gcc since the script messed up. People end up stuck with old versions of C++ standards, which is unacceptable. If GNU folks continue f things up, I can guarantee you everyone will move to LLVM