[CentOS] dumb shared library question

Pete Biggs
Tue, 26 Jun 2018 08:16:32 -0000

On Mon, 2018-06-25 at 21:36 -0700, Alice Wonder wrote:
> Binary compiled on a system with ggc 5.5.0 w/ libstdc++.so.6.0.21
>
> Because the major version is libstdc++.so.6 there shouldn't be any
> problems running it on CentOS 7 with libstdc++.so.6.0.19, right?

'Fraid not - there are sub versions within libstdc++.so.6. Do

  strings /usr/lib64/libstdc++.so.6 | grep LIBCXX

on a CentOS6 system it gives:

libstdc++.so.6.0.13
   GLIBCXX_3.4
   GLIBCXX_3.4.1
   GLIBCXX_3.4.2
   GLIBCXX_3.4.3
   .
   .
   GLIBCXX_3.4.11
   GLIBCXX_3.4.12
   GLIBCXX_3.4.13

CentOS7:

libstdc++.so.6.0.19
   GLIBCXX_3.4
   GLIBCXX_3.4.1
   GLIBCXX_3.4.2
   GLIBCXX_3.4.3
   .
   .
   .
   GLIBCXX_3.4.17
   GLIBCXX_3.4.18
   GLIBCXX_3.4.19

Fedora 28:

libstdc++.so.6.0.25
   GLIBCXX_3.4
   GLIBCXX_3.4.1
   GLIBCXX_3.4.2
   GLIBCXX_3.4.3
   .
   .
   .
   GLIBCXX_3.4.23
   GLIBCXX_3.4.24
   GLIBCXX_3.4.25

So the binary will almost certainly complain about the wrong version
even though it is all ostensibly libstdc++.so.6

P.