Why Linux executable googleearth can't find proper libstdc++.so.6 ?

b. f. bf1783 at googlemail.com
Sat Oct 17 16:19:34 UTC 2009


On 10/17/09, Yuri <yuri at rawbw.com> wrote:
> b. f. wrote:

>
> Record 20080318 in /usr/ports/UPDATING says that in order for skype to
> work OVERRIDE_LINUX_BASE_PORT=fc6 should be set. I did that in order to
> make skype work. I believe latest versions of skype don't work work
> FreeBSD because FreeBSD only uses OSS audio and newer skypes are non-OSS.
>
> So now if I remove that line from /etc/make.conf skype is likely to
> break and google-earth to be fixed.

That entry also says that Fedora 8 can be used,  which was the latest
Linux base port at the time the entry was made, and the skype port
Makefile says Fedora Core 6 __or later__ can be used.  So presumably
later Linux base ports will also work: try the most recent Linux base
emulation port that is available for your platform.


> Looks like for some unknown reason linux has incompatible files
> libstdc++.so.6 in different versions instead of bumping number in name.
>

The library's interface (API/ABI) hasn't changed, so the major version
number should remain the same.  With the use of symbol versions, new
symbols, or different library symbols with the same interface can be
added, with the appropriate version number information, so that
binaries compiled against different versions of the symbols can all be
used with the library.  So there is backwards-compatibility with
earlier versions of the library, but binaries that have been linked
with newer symbol versions during compilation will not link at
run-time against older versions of the library that don't have the new
versions of the symbols.

See:

http://people.redhat.com/drepper/symbol-versioning
http://people.freebsd.org/~deischen/symver/freebsd_versioning.txt

> Is it possible to have several linux bases under different install bases?
>

Yes, if you patch the run-time linker as PC-BSD does, or if you use
different environment variables or libmap.conf(5) to ensure the right
libraries are loaded when using different binaries.  But this can get
messy -- try to use a new Linux base port for all of your ports first.

b.


More information about the freebsd-questions mailing list