I though version 1.0.29 is just a patch release with security fixes and other improvements (i.e. thus compatible with previous 1.0.x versions), but apparently it's not the case, because I'm getting the following error:
ffmpeg: /usr/lib64/libsndfile.so.1: version `libsndfile.so.1.0' not found (required by /usr/lib64/pulseaudio/libpulsecommon-9.0.so)
Was this intentional and necessary?
This is version information for 1.0.27 (output shortened):
readelf -a -W /usr/lib64/libsndfile.so.1.0.27
...
Version definition section '.gnu.version_d' contains 2 entries:
Addr: 0x0000000000002430 Offset: 0x002430 Link: 3 (.dynstr) 000000: Rev: 1 Flags: BASE Index: 1 Cnt: 1 Name: libsndfile.so.1
0x001c: Rev: 1 Flags: none Index: 2 Cnt: 1 Name: libsndfile.so.1.0
Version definition past end of section
...
And this is version information for 1.0.29 (output shortened):
readelf -a -W /usr/lib64/libsndfile.so.1.0.29
...
Version definition section '.gnu.version_d' contains 2 entries:
Addr: 0x0000000000002888 Offset: 0x002888 Link: 3 (.dynstr) 000000: Rev: 1 Flags: BASE Index: 1 Cnt: 1 Name: libsndfile.so.1
0x001c: Rev: 1 Flags: none Index: 2 Cnt: 1 Name: libsndfile.so.1
Version definition past end of section
...
So version changes from libsndfile.so.1.0 in 1.0.27 to libsndfile.so.1 and I'm not sure I see the point. On the other hand SONAME hasn't changed:
readelf -d /usr/lib64/libsndfile.so.1.0.27 | grep SONAME
0x000000000000000e (SONAME) Library soname: [libsndfile.so.1]
readelf -d /usr/lib64/libsndfile.so.1.0.29 | grep SONAME
0x000000000000000e (SONAME) Library soname: [libsndfile.so.1]
Thanks in advance for looking at this.
该提问来源于开源项目:libsndfile/libsndfile