Gentoo Archives: gentoo-dev

From: James Le Cuirot <chewi@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] libpcre.so.3 - Compatibility with Debian
Date: Thu, 11 Aug 2016 19:56:42
Message-Id: 20160811205620.6b782217@symphony.aura-online.co.uk
In Reply to: Re: [gentoo-dev] libpcre.so.3 - Compatibility with Debian by Ian Stakenvicius
1 On Thu, 11 Aug 2016 11:05:00 -0400
2 Ian Stakenvicius <axs@g.o> wrote:
3
4 > On 11/08/16 10:57 AM, Mart Raudsepp wrote:
5 > > Ühel kenal päeval, N, 11.08.2016 kell 12:56, kirjutas Ulrich
6 > > Mueller:
7 > >>>>>>> On Thu, 11 Aug 2016, James Le Cuirot wrote:
8 > >>
9 > >>>> Have you asked Debian why they are doing that?
10 > >>
11 > >>> I did find out but had since forgotten. Here it is:
12 > >>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=380725#10
13 > >>
14 > >> So they are aware of the issue since 10 years, but chose not to fix
15 > >> it? Seriously, there's no good reason to dance to their tune
16 > >> then.
17 > >
18 > > It's not to dance to Debians tune, it's to dance to Valve tunes,
19 > > which happens to create its runtimes from Ubuntu packages.
20 > > I strongly believe that it's important to have such a use case as
21 > > Steam work problem-free in Gentoo. It's currently too messy, with
22 > > and without using steam runtime.
23 > > In the former case (using steam runtime), there are
24 > > incompatibilities between libraries found in the steam runtime, and
25 > > those that it doesn't include and assumes the system provides
26 > > (primarily mesa and deps); each steam runtime version you get to
27 > > hack around things by removing a small selection of libraries from
28 > > the steam runtime dir to get stuff working; a 1-2 month old upgrade
29 > > I haven't even managed to get to work yet on a more up to date
30 > > machine. In the latter case (forcing to not use steam runtime),
31 > > it's near impossible right now to get a set of 32bit binaries to
32 > > satisfy even steam client itself without lots of trial and error,
33 > > let alone some 32bit game.
34 > >
35 > >>> I'm fine with putting it in libpcre-debian package as kentnl
36 > >>> suggested.
37 > >>
38 > >> I still think that the libpcre.so.3 compatibility link shouldn't be
39 > >> installed in a generally visible location. Install it in a specific
40 > >> directory instead, and start your binary with a wrapper which will
41 > >> add that directory to LD_LIBRARY_PATH.
42 > >
43 > > Isn't this a use case for ldscripts, e.g like gen_usr_ldscript
44 > > toolchain.eclass function does, except for pointing libpcre.so.3 to
45 > > libpcre.so.1 (so can't use that eclass function, but could just pre-
46 > > create one to $FILESDIR if it works)?
47 > > The important points should be:
48 > > 1) No compilation/linking done on Gentoo should possibly end up with
49 > > putting libpcre.so.3 in its DT_NEEDED
50 > > 2) libpcre.so should link to libpcre.so.1
51 > >
52 > > If we can satisfy these, I don't see a reason to mess around with
53 > > some extra package.
54 > > Debian reasoning of having stuck with libpcre.so.3 historically is
55 > > sound as well, especially if upstream will never use that, given
56 > > libpcre2.so.x or however they soname pcre2-10+. Also, given PCRE2,
57 > > and given debians todays situation with this, I would also
58 > > technically choose not to change this, as things should migrate
59 > > over to PCRE2.
60 > >
61 > > Mart
62 >
63 > Wouldn't the most simple solution here would be to make a symlink for
64 > libpcre.so.3 within the local bindir for each Valve or whatever
65 > package that needs it? This is a binary-package-supporting hack,
66 > might as well do it in the binary packages that need it. You might
67 > still need to wrap the binary to set some environment stuff, not sure;
68 > either way it doesn't seem to make sense to make this a system-wide
69 > thing.
70
71 We don't package Steam itself and doing so isn't viable. We package
72 upstream's script for bootstrapping it under the user's HOME. As such,
73 there is nowhere to create such a symlink. It's not actually Steam
74 itself that requires libpcre.so.3 but (at least) one of its games. You
75 similarly can't create a symlink for each game because they also get
76 installed under HOME or some other user-defined location.
77
78 I have summed up the feedback. I have also considered that we don't
79 install the likes of libpng12.so.0 to a different location, even though
80 this is also there solely to satisfy pre-compiled binaries. We don't
81 even have a separate package for that though I will gladly compromise
82 on that point in this case. With all that in mind, I am going to
83 install to /lib using a libpcre-debian package. Sorry if you disagree
84 but since when do we all agree on anything? :)
85
86 Regards,
87 --
88 James Le Cuirot (chewi)
89 Gentoo Linux Developer

Replies