This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Binary compatibility between an old static libstdc++ and a new dynamic one
- From: Guilherme Quentel Melo <gqmelo at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Wed, 12 Apr 2017 22:16:45 -0300
- Subject: Binary compatibility between an old static libstdc++ and a new dynamic one
- Authentication-results: sourceware.org; auth=none
Hi,
In an attempt to run an OpenGL application on CentOS 7 I've bumped on
an "invalid pointer" crash in libstdc++. Details can be seen on this
bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=1417663
Sorry for posting an external link, but in summary on CentOS 7 mesa is
compiled against a specific llvm version which then is statically
linked to libstdc++ (gcc 4.8.5).
But my application uses a more recent gcc (5.4.0) and I ship a
launcher script which always choose to run with the newest version.
This approach works pretty well among many Linux distributions, but
not in this case where a system library that I need is statically
linked to libstdc++.
So before digging into more details I would like to know:
Is mixing a system library statically linked to libstdc++ with an
executable dynamically linked to a newer libstdc++ expected to work at
all?
Thanks in advance for any help,
Guilherme Quentel Melo