Recent

Author Topic: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found  (Read 64114 times)

WayneSherman

  • Sr. Member
  • ****
  • Posts: 254
Re: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found
« Reply #240 on: January 14, 2025, 07:21:26 pm »
I heard last year that versioned linking would be implemented by one the the compiler devs. That is why I stopped myself in diving deeper into this.
However, I think that the addition of versioned symbols should be done by the compiler. If done like this, all compiled sources will be versioned without changes needed into these sources.

If a project declares its own internal libc declarations, I think they should be left alone and used without modification.  How can that be controlled?

If a project use the RTL provided libc declarations, is there a way that versioned or unversioned libc symbols can be selected simply with a conditional compilation define?

How to handle linking against a precompiled RTL?  In that case libc versioning depends on how the RTL was compiled.
« Last Edit: January 14, 2025, 07:30:14 pm by WayneSherman »

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1792
Re: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found
« Reply #241 on: January 14, 2025, 09:00:28 pm »
Well. You can see the compiler patch here.
https://github.com/LongDirtyAnimAlf/fpcupdeluxe/blob/master/fpcuptools/glibc/glibc_compat_3_2_2.patch
As the sources show, the patch checks for unversioned symbols and will skip versioned symbols.

 

TinyPortal © 2005-2018