> On Jan 21, 2016, at 1:43 PM, Nathaniel Smith <[email protected]> wrote:
> 
> On Jan 21, 2016 9:32 AM, "Donald Stufft" <[email protected] 
> <mailto:[email protected]>> wrote:
> >
> >
> > > On Jan 20, 2016, at 10:55 PM, Nathaniel Smith <[email protected] 
> > > <mailto:[email protected]>> wrote:
> > >
> > > The permitted external shared libraries are: ::
> > >
> > >    libpanelw.so.5
> > >    libncursesw.so.5
> > >    libgcc_s.so.1
> > >    libstdc++.so.6
> > >    libm.so.6
> > >    libdl.so.2
> > >    librt.so.1
> > >    libcrypt.so.1
> > >    libc.so.6
> > >    libnsl.so.1
> > >    libutil.so.1
> > >    libpthread.so.0
> > >    libX11.so.6
> > >    libXext.so.6
> > >    libXrender.so.1
> > >    libICE.so.6
> > >    libSM.so.6
> > >    libGL.so.1
> > >    libgobject-2.0.so.0
> > >    libgthread-2.0.so.0
> > >    libglib-2.0.so.0
> >
> >
> > Forgive my, probably stupid, question… but why these libraries? Are these
> > libraries unable to be reasonably statically linked like glibc is?
> 
> It's not a stupid question at all :-).
> 
> What we want is a list of libraries that are present, and compatible, and 
> relevant, across the Linux distributions that most people use in practice.
> 
> Unfortunately, there isn't really any formal specification or published data 
> on this -- the only way to make such a list is to make a guess, start 
> distributing software to lots of people based on your guess, wait for bug 
> reports to come in, edit your list to avoid the problematic libraries, add 
> some more libraries to your list to cover the new packages you've added to 
> your distribution and where you think the risk is a worthwhile trade off 
> versus just static linking, then repeat until you stop getting bug reports.
> 
> This is expensive and time consuming and requires data we don't have, so we 
> delegated: the list in the PEP is exactly the set of libraries that 
> Continuum's Anaconda distribution links to and a subset of the libraries that 
> Enthought's Canopy links to [1]. They've both been going through the loop 
> above for years, with lots of packages, and lots of lots of downloads, so 
> we're piggybacking off their effort.
> 
> Here's the list of packages in Anaconda:
> http://docs.continuum.io/anaconda/pkg-docs 
> <http://docs.continuum.io/anaconda/pkg-docs>
> 

I guess my underlying question is, if we’re considering static linking (or 
shipping the .so dll style) to be good enough for everything not on this list, 
why are these specific packages on the list? Why are we not selecting the 
absolute bare minimum packages that you *cannot* reasonably static link or ship 
the .so?


-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Distutils-SIG maillist  -  [email protected]
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to