Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 506226 - app-emulation/emul-linux-x86-compat: replace it with lib-compat and libstdc++-v3
Summary: app-emulation/emul-linux-x86-compat: replace it with lib-compat and libstdc++-v3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-30 08:09 UTC by Pacho Ramos
Modified: 2014-08-18 23:10 UTC (History)
3 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 Pacho Ramos gentoo-dev 2014-03-30 08:09:29 UTC
With recent changed in "multilib" USE value with multilib profiles I noticed that app-emulation/emul-linux-x86-compat has a really strange way of handling multilib stuff coming from  sys-libs/libstdc++-v3. 

That emul package only contains 32bits libs from sys-libs/libstdc++-v3 and sys-libs/lib-compat. For some reason, that collides with sys-libs/libstdc++-v3[multilib] itself for ages because that package also provides 32 bits libs, then, we are doing this ugliness for a long long time:
src_prepare() {
        emul-linux-x86_src_prepare
        if has_multilib_profile ; then
                rm -rf "${S}/usr/lib32/libstdc++.so.5.0.7" \
                        "${S}/usr/lib32/libstdc++.so.5" || die
        fi
}

That should probably be changed to be done depending on "multilib" USE instead of profile but... I don't understand why libstdc++ wasn't dropped long ago from this "compat" emul set package.

Maybe the way to go would be to migrate sys-libs/lib-compat and sys-libs/libstdc++-v3 to new multilib eclasses and kill this emul package :/

What do you think?
Comment 1 Pacho Ramos gentoo-dev 2014-04-12 12:06:05 UTC
Latest emul package now relies on "multilib" USE

Reviewing the two packages provided in app-emulation/emul-linux-x86-compat:
sys-libs/lib-compat -> it's not keyworded on amd64... but it's pretty simple:
src_install() {
        if use x86 ; then
                into /
                dolib.so ld-linux.so.1*
                rm -f ld-linux.so.1*
        fi
        into /usr
        dolib.so *.so*
}

Maybe those libs could also be installed in amd64 && multilib

sys-libs/libstdc++-v3 -> looks like it merged with multilib USE enabled is already replacing the libs pulled by emul package
Comment 2 Pacho Ramos gentoo-dev 2014-04-12 12:06:48 UTC
CCing lib-compat maintainers too
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-06-25 22:37:55 UTC
A few notes:

1. sys-libs/libstdc++-v3 doesn't even compile for me. I don't know if it's worth fixing,

2. since lib-compat is binary as well, i see no point in having two packages install the same binary files. i'd go for making lib-compat compatible with amd64,

3. all of it is terrible and vulnerable, and so on. If we'd like to be lazy, I wouldn't mind masking it all for removal.
Comment 4 Jonathan Callen (RETIRED) gentoo-dev 2014-06-25 22:51:23 UTC
(In reply to Michał Górny from comment #3)
> A few notes:
> 
> 1. sys-libs/libstdc++-v3 doesn't even compile for me. I don't know if it's
> worth fixing,
> 
> 2. since lib-compat is binary as well, i see no point in having two packages
> install the same binary files. i'd go for making lib-compat compatible with
> amd64,
> 
> 3. all of it is terrible and vulnerable, and so on. If we'd like to be lazy,
> I wouldn't mind masking it all for removal.

sys-libs/libstdc++-v3 compiles just fine for me.  You may have some strange CFLAGS that GCC 3.3 (really!) doesn't like.  I at least still need the 32-bit libstdc++.so.5 that libstdc++-v3[multilib] provides because some old binary-only games that will never be updated depend on it.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-06-26 08:34:11 UTC
+*lib-compat-1.4.2-r1 (26 Jun 2014)
+
+  26 Jun 2014; Michał Górny <mgorny@gentoo.org> +lib-compat-1.4.2-r1.ebuild:
+  Support being installed on amd64. Since app-emulation/emul-linux-x86-compat
+  installs fundamentally the same files, there is no point having both. Bug
+  #506226.

+*emul-linux-x86-compat-20140508-r1 (26 Jun 2014)
+
+  26 Jun 2014; Michał Górny <mgorny@gentoo.org>
+  +emul-linux-x86-compat-20140508-r1.ebuild:
+  Satisfy the dependencies using sys-libs/libstdc++-v3 and sys-libs/lib-compat,
+  rather than bundling them. Bug #506226.