This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Multiple libstdc++ versions
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: coypu at sdf dot org
- Cc: "libstdc++" <libstdc++ at gcc dot gnu dot org>
- Date: Sat, 1 Jul 2017 17:39:56 +0100
- Subject: Re: Multiple libstdc++ versions
- Authentication-results: sourceware.org; auth=none
- References: <20170701163114.GA13735@SDF.ORG>
On 1 July 2017 at 17:31, <coypu@sdf.org> wrote:
> We've had a discussion about the ramifications of doing it, as it pushes
> ABI compatibility to the limits.
> I assume that there's a good amount of backwards compatibility, but with
> highly dependent packages, we can end up with a scenario like so:
> [library A g++4.5] [library B g++4.8]
> \ /
> [ C package ]
>
> If so, when I link the C package with -lA -lB, I assume the libstdc++4.5
> first, causing us to rely on non-existent forward compatibility in
> unpredictable ways(?)
What do you mean by "the libstdc++-4.5 first"?
You didn't say if you're linking statically or dynamically.
> What do you think about this scenario? are we pushing it too far?
> Is it expected to work even in the case where the newer libstdc++ is
> used?
What do you mean by "used"?
Assuming dynamic linking, both A and B will depend on libstdc++.so.6
and the only requirement is that the version of that library used at
runtime is the newest version any of the objects were built against
(or an even newer version).