Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 160335 - emul-linux-x86-compat-1.0-r2 provides libstdc++.so which conflicts with gcc
Summary: emul-linux-x86-compat-1.0-r2 provides libstdc++.so which conflicts with gcc
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
: 160336 163223 164555 184212 189927 (view as bug list)
Depends on:
Blocks: emul-tracker
  Show dependency tree
 
Reported: 2007-01-05 16:17 UTC by Nicholas Doyle
Modified: 2007-08-23 13:38 UTC (History)
9 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicholas Doyle 2007-01-05 16:17:03 UTC
The latest emul-linux-x86-compat-1.0-r2 breaks zsnes. With r2 I get the following error when running zsnes:

zsnes: /usr/lib32/libstdc++.so.6: version `CXXABI_1.3.1' not found (required by zsnes)

Downgrading to r1 lets zsnes work. Recompiling zsnes makes no difference.
Comment 1 Nicholas Doyle 2007-01-05 16:30:03 UTC
This is using zsnes-1.42.
Comment 2 Tristan Heaven (RETIRED) gentoo-dev 2007-01-05 16:54:08 UTC
*** Bug 160336 has been marked as a duplicate of this bug. ***
Comment 3 Doug Goldstein (RETIRED) gentoo-dev 2007-01-10 15:04:24 UTC
What was the previous package you were on? Because emul-linux-x86-compat has never provided CXXABI_1.3.1 as far as I can tell. It only provides CXXABI_1.3.

It sounds like you rolled your own compiler or did something funky.

Provide emerge --info to all bugs.
Comment 4 SpanKY gentoo-dev 2007-01-10 17:09:48 UTC
the problem is that previously, zsnes would [correctly] use the libstdc++.so.6 from gcc

now that it's installed into /usr/lib32/, zsnes is trying to use that one

i dont see why emul-linux-x86-compat should be supplying any libstdc++.so from gcc-3.3.x or gcc-3.4.x+ (libstdc++.so.[56]) since the toolchain takes care of this
Comment 5 boris64 2007-01-12 14:45:25 UTC
Same error and same solution here (downgrading to =app-emulation/emul-linux-x86-compat-1.0-r1).
Comment 6 SpanKY gentoo-dev 2007-01-12 15:42:42 UTC
downgrading is not the correct solution

delete /usr/lib32/libstdc++.so.[56]*
Comment 7 Nicholas Doyle 2007-01-12 18:08:37 UTC
Deleting /usr/lib32/libstdc++.so.[56]* doesn't help. Now zsnes says it simply can't find the libraries.

zsnes: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Is it the case that those files need to be removed and gcc remerged?
Comment 8 SpanKY gentoo-dev 2007-01-12 18:33:12 UTC
run, run `ldconfig` to rebuild your cache
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2007-01-22 11:49:36 UTC
*** Bug 163223 has been marked as a duplicate of this bug. ***
Comment 10 Timothy Redaelli (RETIRED) gentoo-dev 2007-01-29 16:22:35 UTC
Fixed thx
Comment 11 DocReedSolomon 2007-01-30 13:43:01 UTC
[code]
29 Jan 2007; Timothy Redaelli <drizzt@gentoo.org>
  emul-linux-x86-compat-1.0-r3.ebuild:
  Install libstdc++.so.5 if gcc 3.4.* is not installed.
[/code]
well, this breaks mozilla-firefox-bin. see:
http://forums.gentoo.org/viewtopic-t-536068-highlight-.html

btw.. i have *both* installed, gcc 3.4.x *and* gcc 4..x, so now what? <g>
Comment 12 Doug Goldstein (RETIRED) gentoo-dev 2007-01-30 15:17:34 UTC
The fix is incorrect. libstdc++.so.5 is not provided by gcc-3.4.x or gcc-4.1.x. The latest compat lib broke mozilla-firefox-bin since libstdc++.so.5 does not exist on my machine anymore. The fix is proper for libstdc++.so.6. But libstdc++.so.5 is provided by gcc-3.3.x not any higher version.
Comment 13 Doug Goldstein (RETIRED) gentoo-dev 2007-01-30 15:29:48 UTC
Appear the original committed version of the ebuild was wrong and someone fixed it without rev bumping it.
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2007-01-30 18:16:17 UTC
*** Bug 164555 has been marked as a duplicate of this bug. ***
Comment 15 Doug Goldstein (RETIRED) gentoo-dev 2007-01-30 19:32:23 UTC
In fact I was correct when I opened the bug before. This fix is not correct and Spanky is wrong here.

gcc-3.3.x -> libstdc++.so.5
gcc-3.4.x -> libstdc++.so.6
gcc-4.1.x -> libstdc++.so.6

The has_version check in the latest ebuild needs to be against gcc-3.3.x. 
Comment 16 Doug Goldstein (RETIRED) gentoo-dev 2007-01-30 20:32:20 UTC
Fixed without a rev bump per Kugelfang.
Comment 17 gent_bz 2007-01-31 00:47:10 UTC
Why was this change needed? (I'm trying to understand the 32/64bit thing going on here...)

Why would a 32bit libstdc++.so.[56] in /usr/lib32/ be found by (what I am assuming is) a 64bit zsnes, and not the 64bit version (presumably) in /usr/lib64/libstdc++-v3/ or /usr/lib64/gcc/blah/blah/blah ?
Comment 18 SpanKY gentoo-dev 2007-01-31 04:49:39 UTC
no idea what you're talking about, i never said gcc-3.4.x or newer provided libstdc++.so.5

packages that need the older libstdc++ should be pulling in virtual/libstdc++

fix the broken packages, stop screwing with the compat packages
Comment 19 Andreas Arens 2007-01-31 11:09:25 UTC
(In reply to comment #18)
> no idea what you're talking about, i never said gcc-3.4.x or newer provided
> libstdc++.so.5
> 
> fix the broken packages, stop screwing with the compat packages
 

You are absolutely right. Fix the broken packages. Now, how about this....


root@ale ~ # revdep-rebuild -p --library=libstdc++.so.5
Configuring search environment for revdep-rebuild
Checking reverse dependencies...
Packages containing binaries and libraries using libstdc++.so.5 will be emerged.
Collecting system binaries and libraries... done.
  (/root/.revdep-rebuild.1_files)
Checking dynamic linking...
  found /usr/lib32/libtiffxx.so.3.7.3
 done.
  (/root/.revdep-rebuild_fb248503.3_rebuild)
Assigning files to ebuilds... done.
  (/root/.revdep-rebuild_fb248503.4_ebuilds)
Evaluating package order... done.
  (/root/.revdep-rebuild_fb248503.5_order)
All prepared. Starting rebuild...
emerge --oneshot -p =app-emulation/emul-linux-x86-baselibs-2.5.5-r3

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] app-emulation/emul-linux-x86-baselibs-2.5.5-r3
Now you can remove -p (or --pretend) from arguments and re-run revdep-rebuild.
root@ale ~ #

Hmmm........


The culprit is libtiffxx.so.3.7.3, from extactly the same package it tries to fix..., So at least that one needs to be recompiled with at least gcc-3.4.
Comment 20 Federico Cuello 2007-01-31 13:52:09 UTC
(In reply to comment #18)
> no idea what you're talking about, i never said gcc-3.4.x or newer provided
> libstdc++.so.5
> 
> packages that need the older libstdc++ should be pulling in virtual/libstdc++
> 
> fix the broken packages, stop screwing with the compat packages
> 

But, if a packages needs libstdc++.so.5 and pulls virtual/libstdc++, then I'll have gcc-3* installed for no reason?
Comment 21 SpanKY gentoo-dev 2007-02-01 04:34:52 UTC
if installing it gives you libstdc++.so.5, how exactly is that "for no reason"
Comment 22 Vladimir G. Ivanovic 2007-02-10 18:42:31 UTC
app-emulation/emul-linux-x86-compat-1.0-r3 breaks mozilla-firefox-bin. Reverting to -r2 fixed the problem. 

Since I haven't had gcc-3.3.x on my system at least since Jan 2006 (if I've ever had it; there's no mention of gcc-3.3.x in my emerge.log) and since I've been running mozilla-firefox-bin successfully also since Jan 2006, I'm skeptical that the answer is "install gcc-3.3.x".
Comment 23 SpanKY gentoo-dev 2007-02-11 00:22:32 UTC
one of us has facts on their side, the other has vague descriptions and hints at failures

provide some real data about your system
Comment 24 Brad House 2007-02-11 01:15:05 UTC
Not sure why this is still open, someone already made the
has_version =sys-devel/gcc-3.4*
to
has_version =sys-devel/gcc-3.3*
change in the ebuild, as the e-build thought gcc 3.4 provided
libstdc++.so.5, when gcc3.4 provided only libstdc++.so.6 ...
Appears fixed to me, as my firefox-bin is working these days.
Just emerge --sync and emerge --oneshot emul-linux-x86-compat

Comment 25 SpanKY gentoo-dev 2007-02-11 04:47:43 UTC
that's a midway hack that probably works for most people, yes ... but the emul-* packages themselves are just one big hack so it isnt like putting hacks in them is that big of a deal
Comment 26 Simon Stelling (RETIRED) gentoo-dev 2007-02-11 23:05:05 UTC
we don't support 3.3 anyway, fixed properly with a block
Comment 27 Jakub Moc (RETIRED) gentoo-dev 2007-07-04 18:57:57 UTC
*** Bug 184212 has been marked as a duplicate of this bug. ***
Comment 28 Jakub Moc (RETIRED) gentoo-dev 2007-08-23 13:38:32 UTC
*** Bug 189927 has been marked as a duplicate of this bug. ***