[csw-maintainers] How does libstdc++.so.6 find libgcc_s.so.1

Maciej (Matchek) Blizinski maciej at opencsw.org
Tue Mar 23 13:20:01 CET 2010


2010/3/23 Philip Brown <phil at bolthole.com>:
> On Mon, Mar 22, 2010 at 5:28 PM, Maciej (Matchek) Blizinski
> <maciej at opencsw.org> wrote:
>> ....
>> ...it indeed is not found.  But we know from elsewhere that programs
>> linked against libstdc++.so.6 do work.  How?  All programs linking
>> against libstdc++.so.6 also happen to be linked against libgcc_s.so.1
>> so the problem never surfaces?
>
> Yup.
> and/or linked against other things in /opt/csw/lib.

Any ideas how to tell a legitimate case such as this one from a buggy
case?  Please note that a bug might occur due to changes in other
packages, if the soname is from another package.

I see three things I could do here:

1. Throw an error ("missing-soname"), and let maintainers add overrides
2. Add a heuristic: "if the same package provides a soname equal to
the missing one, don't throw an error". This would be only a
heuristic, since there will be no check whether the soname is actually
used at runtime.
3. Do a hybrid approach:  if the same package provides the soname
which appears to be missing, throw a different error tag, so that the
maintainers will be able to add an override from one tag, but not the
other.  For example: "missing-soname-from-own-package".

Thoughts?


More information about the maintainers mailing list