Re: pip and missing shared system system library

Wes Turner <[email protected]> Sun, 9 Aug 2020 15:28:47 -0400
Newsgroups gmane.comp.python.distutils.devel
Message-ID <CACfEFw85Hnnz3QPFEhJy0V0MFjNV=hrmzu3xb7Fio=wp-+eheQ@mail.gmail.com>
--===============1807813410840611699==
Content-Type: multipart/alternative; boundary="0000000000007aa29305ac76d9a4"

--0000000000007aa29305ac76d9a4
Content-Type: text/plain; charset="UTF-8"

Are you requesting an implementation of autotools / autoconf / pkg-config /
libtool in Python, in setuptools?

Existing workarounds for building and distributing portable binaries:

W/ shared library dependencies:
- auditwheel & manylinux
- package managers which support arbitrary binary packages in languages
other than python:
  - conda
  - RPM / DEB / ...
    - bdist_rpm
    - bdist_deb
    - FPM

W/ static dependencies:
- zipapp
- bazel / buck build / pants build (BUILD files)
- py2app, py2exe, pyinstaller,
  https://github.com/vinta/awesome-python#distribution

On Sun, Aug 9, 2020, 3:05 PM David Mathog <[email protected]> wrote:

> On Sun, Aug 9, 2020 at 10:21 AM Ned Deily <[email protected]> wrote:
> > Just to be clear, pkg-config is not part of any Posix standard, AFAIK,
> so you cannot depend on it being available.
>
> Understood.  However, if that is not employed what reasonable method
> remains for implementing "Requires-External"?  The only thing I can
> think of is to specify exact library or program names, like
>
> Requires-External gcc
> Requires-External libpng.so
>
> and those could be found by searching the whole directory tree.  That
> might even be efficient if updatedb/locate are available.  However
> going that way, how would one determine version compatibility on a
> library?  Doing it through the package manager may be possible, but it
> is a multistep process:
>
> 1.  lookup libpng.so -> PATHPNG
> 2.  rpm -q --whatprovides $PATHPNG -> name of package
> 3.  analyze "name of package" for version information
>
> Much easier one suspects to install pkg-config on systems which do not
> yet have it than to completely reimplement it.
>
> Does OS X have something which is equivalent to pkg-config, or is
> there just no way to look up this sort of information on that OS?
>
> Regards,
>
> David Mathog
> --
> Distutils-SIG mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/distutils-sig.python.org/
> Message archived at
> https://mail.python.org/archives/list/[email protected]/message/BCYVPMEGXLU7YQJUCCQDV5BT7E22EH7M/
>

--0000000000007aa29305ac76d9a4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Are you requesting an implementation of autotools / autoc=
onf / pkg-config / libtool in Python, in setuptools?<div dir=3D"auto"><br><=
/div><div dir=3D"auto">Existing workarounds for building and distributing p=
ortable binaries:</div><div dir=3D"auto"><br></div><div dir=3D"auto">W/ sha=
red library dependencies:</div><div dir=3D"auto">- auditwheel &amp; manylin=
ux</div><div dir=3D"auto">- package managers which support arbitrary binary=
 packages in languages other than python:</div><div dir=3D"auto">=C2=A0 - c=
onda</div><div dir=3D"auto">=C2=A0 - RPM / DEB / ...</div><div dir=3D"auto"=
>=C2=A0 =C2=A0 - bdist_rpm</div><div dir=3D"auto">=C2=A0 =C2=A0 - bdist_deb=
</div><div dir=3D"auto">=C2=A0 =C2=A0 - FPM</div><div dir=3D"auto"><br></di=
v><div dir=3D"auto">W/ static dependencies:</div><div dir=3D"auto">- zipapp=
</div><div dir=3D"auto">- bazel / buck build / pants build (BUILD files)</d=
iv><div dir=3D"auto">- py2app, py2exe, pyinstaller,=C2=A0</div><div dir=3D"=
auto">=C2=A0=C2=A0<a href=3D"https://github.com/vinta/awesome-python#distri=
bution">https://github.com/vinta/awesome-python#distribution</a></div></div=
><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Su=
n, Aug 9, 2020, 3:05 PM David Mathog &lt;<a href=3D"mailto:[email protected]=
m">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
>On Sun, Aug 9, 2020 at 10:21 AM Ned Deily &lt;<a href=3D"mailto:nad@python=
.org" target=3D"_blank" rel=3D"noreferrer">[email protected]</a>&gt; wrote:<br=
>
&gt; Just to be clear, pkg-config is not part of any Posix standard, AFAIK,=
 so you cannot depend on it being available.<br>
<br>
Understood.=C2=A0 However, if that is not employed what reasonable method<b=
r>
remains for implementing &quot;Requires-External&quot;?=C2=A0 The only thin=
g I can<br>
think of is to specify exact library or program names, like<br>
<br>
Requires-External gcc<br>
Requires-External libpng.so<br>
<br>
and those could be found by searching the whole directory tree.=C2=A0 That<=
br>
might even be efficient if updatedb/locate are available.=C2=A0 However<br>
going that way, how would one determine version compatibility on a<br>
library?=C2=A0 Doing it through the package manager may be possible, but it=
<br>
is a multistep process:<br>
<br>
1.=C2=A0 lookup libpng.so -&gt; PATHPNG<br>
2.=C2=A0 rpm -q --whatprovides $PATHPNG -&gt; name of package<br>
3.=C2=A0 analyze &quot;name of package&quot; for version information<br>
<br>
Much easier one suspects to install pkg-config on systems which do not<br>
yet have it than to completely reimplement it.<br>
<br>
Does OS X have something which is equivalent to pkg-config, or is<br>
there just no way to look up this sort of information on that OS?<br>
<br>
Regards,<br>
<br>
David Mathog<br>
--<br>
Distutils-SIG mailing list -- <a href=3D"mailto:[email protected]" t=
arget=3D"_blank" rel=3D"noreferrer">[email protected]</a><br>
To unsubscribe send an email to <a href=3D"mailto:distutils-sig-leave@pytho=
n.org" target=3D"_blank" rel=3D"noreferrer">[email protected]<=
/a><br>
<a href=3D"https://mail.python.org/mailman3/lists/distutils-sig.python.org/=
" rel=3D"noreferrer noreferrer" target=3D"_blank">https://mail.python.org/m=
ailman3/lists/distutils-sig.python.org/</a><br>
Message archived at <a href=3D"https://mail.python.org/archives/list/distut=
[email protected]/message/BCYVPMEGXLU7YQJUCCQDV5BT7E22EH7M/" rel=3D"norefe=
rrer noreferrer" target=3D"_blank">https://mail.python.org/archives/list/di=
[email protected]/message/BCYVPMEGXLU7YQJUCCQDV5BT7E22EH7M/</a><br>
</blockquote></div>

--0000000000007aa29305ac76d9a4--

--===============1807813410840611699==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
Distutils-SIG mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at https://mail.python.org/archives/list/[email protected]/message/7TCZJT2RDE36BJKUDU6JVTIUYHGVDVQY/

--===============1807813410840611699==--