1

On Fedora 31, if I run: rpm -q --provides glibc I get, amongst other things:

libc.so.6(GCC_3.0)   
libc.so.6(GLIBC_2.0) 
libc.so.6(GLIBC_2.1) 
libc.so.6(GLIBC_2.1.1)
libc.so.6(GLIBC_2.1.2)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.10)
libc.so.6(GLIBC_2.11)
libc.so.6(GLIBC_2.12)
libc.so.6(GLIBC_2.13)
libc.so.6(GLIBC_2.14)
libc.so.6(GLIBC_2.15)
libc.so.6(GLIBC_2.16)
libc.so.6(GLIBC_2.17)     
libc.so.6(GLIBC_2.18)     
libc.so.6(GLIBC_2.2)        
libc.so.6(GLIBC_2.2.1)      
libc.so.6(GLIBC_2.2.2)     
libc.so.6(GLIBC_2.2.3)     
libc.so.6(GLIBC_2.2.4)     
libc.so.6(GLIBC_2.2.6)    
libc.so.6(GLIBC_2.22)       
libc.so.6(GLIBC_2.23)       
libc.so.6(GLIBC_2.24)      
libc.so.6(GLIBC_2.25)       
libc.so.6(GLIBC_2.26)       
libc.so.6(GLIBC_2.27)       
libc.so.6(GLIBC_2.28)      
libc.so.6(GLIBC_2.29)     
libc.so.6(GLIBC_2.3)
libc.so.6(GLIBC_2.3.2)   
libc.so.6(GLIBC_2.3.3)   
libc.so.6(GLIBC_2.3.4)     
libc.so.6(GLIBC_2.30)    
libc.so.6(GLIBC_2.4)
libc.so.6(GLIBC_2.5) 
libc.so.6(GLIBC_2.6) 
libc.so.6(GLIBC_2.7)   
libc.so.6(GLIBC_2.8) 
libc.so.6(GLIBC_2.9) 

I am confused by this output - when I run dnf info glibc, glibc is at version 2.30. How are so many glibc versions available and where are they coming from if glibc is at version 2.30? Does this mean that if I have a package installed which requires an older version of glibc, this is still satisfied for that package?

1 Answers1

1

Here rpm -q --provides is listing the version symbols provided by the libraries in the package you’re looking at. libc6 contains multiple version symbols because it provides multiple implementations of functions which have changed in backward-incompatible ways, in order to preserve backwards compatibility. See What do the multiple GLIBC versions mean in the output of ldd? for details.

Does this mean that if I have a package installed which requires an older version of glibc, this is still satisfied for that package?

That’s correct.

Stephen Kitt
  • 434,908