Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2024 11:29:45 +0900
From:      Junho Choi <junho.choi@gmail.com>
To:        =?UTF-8?Q?Yann_Kerherv=C3=A9?= <yann.kerherve@gmail.com>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: quiche dependency issue in FreeBSD
Message-ID:  <CAJ5e%2BHDMtwpRkFUFJqCV2ENw3YnBTn7jwh20e2w1Z=QqEF0YKg@mail.gmail.com>
In-Reply-To: <CAJ5e%2BHA%2BJJksL7RK3%2BCt-cWE3WOY3cNBDcbrUaE58H1GnQTFrw@mail.gmail.com>
References:  <CAMTe54qdzhpmXGrJ2ihaYQ8RpEScEkvuU3b=OiXVwQ_71wF11Q@mail.gmail.com> <CAJ5e%2BHDfs1-_jK7iwnZsSwVOSwav_TzN7RU=A-cN9g4v2Rtumg@mail.gmail.com> <CAJ5e%2BHA%2BJJksL7RK3%2BCt-cWE3WOY3cNBDcbrUaE58H1GnQTFrw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000c3e302061bd5e909
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

quiche 0.22.0 with the soname fix released:
https://github.com/cloudflare/quiche/releases/tag/0.22.0

On Tue, Apr 30, 2024 at 9:23=E2=80=AFPM Junho Choi <junho.choi@gmail.com> w=
rote:

> I was looking into pkg source and found a relevant line:
>
>
> https://github.com/freebsd/pkg/blob/b0a68a933f42aec97c8f37543bcac41149c28=
e2e/libpkg/pkg_elf.c#L402-L410
>
> It seems to look for soname in the shared libs to be added to "shlibs
> provided" section, but currently
> quiche has no soname in the .so file:
> https://github.com/cloudflare/quiche/issues/598
>
> I made a PR to fix this:
> https://github.com/cloudflare/quiche/pull/1769
>
> After that, I made a fix on the port and now it looks ok:
>
> Shared Libs provided:
>     libquiche.so.0
>
> Let's see how it is merged. I'll update the quiche port when it's ready.
>
> On Tue, Apr 30, 2024 at 12:17=E2=80=AFPM Junho Choi <junho.choi@gmail.com=
> wrote:
> >
> > (Cross posting to ports@)
> >
> > Yann - yes I can reproduce it but have no idea why.
> >
> > It seems quiche doesn't have a "Shared Lib provided" section like
> > other libs. (see below)
> >
> > Other than USE_LDCONFIG, what affects it? Any advice from committers?
> >
> > % pkg info quiche
> > quiche-0.20.1
> > Name           : quiche
> > Version        : 0.20.1
> > Installed on   : Tue Apr 30 03:14:32 2024 UTC
> > Origin         : net/quiche
> > Architecture   : FreeBSD:14:amd64
> > Prefix         : /usr/local
> > Categories     : net
> > Licenses       : BSD2CLAUSE
> > Maintainer     : junho.choi@gmail.com
> > WWW            : https://crates.io/crates/quiche
> > Comment        : Savoury implementation of the QUIC transport protocol
> > and HTTP/3
> > Options        :
> >     DOCS           : on
> >     QLOG           : on
> > Annotations    :
> >     FreeBSD_version: 1400097
> >     build_timestamp: 2024-04-04T20:02:03+0000
> >     built_by       : poudriere-git-3.4.1-1-g1e9f97d6
> >     port_checkout_unclean: no
> >     port_git_hash  : 0e1153d3a5
> >     ports_top_checkout_unclean: no
> >     ports_top_git_hash: f5d16d08a6
> >     repo_type      : binary
> >     repository     : FreeBSD
> > Flat size      : 48.2MiB
> >
> >
> > Other example (libnghttp2 has "Shared Lib Provided" section)
> >
> > % pkg info libnghttp2
> > libnghttp2-1.61.0
> > Name           : libnghttp2
> > Version        : 1.61.0
> > Installed on   : Sun Apr 21 12:06:36 2024 UTC
> > Origin         : www/libnghttp2
> > Architecture   : FreeBSD:14:amd64
> > Prefix         : /usr/local
> > Categories     : www net
> > Licenses       : MIT
> > Maintainer     : sunpoet@FreeBSD.org
> > WWW            : https://nghttp2.org/
> > Comment        : HTTP/2.0 C Library
> > Shared Libs provided:
> >     libnghttp2.so.14
> > Annotations    :
> >     FreeBSD_version: 1400097
> >     build_timestamp: 2024-04-11T01:12:38+0000
> >     built_by       : poudriere-git-3.4.1-1-g1e9f97d6
> >     cpe            : cpe:2.3:a:nghttp2:nghttp2:1.61.0:::::freebsd14:x64
> >     port_checkout_unclean: no
> >     port_git_hash  : 2b3fb39407
> >     ports_top_checkout_unclean: no
> >     ports_top_git_hash: 2910ff97e7
> >     repo_type      : binary
> >     repository     : FreeBSD
> > Flat size      : 801KiB
> >
> > On Fri, Apr 26, 2024 at 11:32=E2=80=AFAM Yann Kerherv=C3=A9 <yann.kerhe=
rve@gmail.com>
> wrote:
> > >
> > > Hello,
> > >
> > > I have an issue with `pkg check` reporting a dependency missing:
> > >
> > > root@dev:~ # pkg check -d -a
> > > Checking all packages: 100%
> > > dnsdist is missing a required shared library: libquiche.so
> > >
> > > (in FreeBSD 13.3 and 14.0)
> > >
> > > This is bogus:
> > > root@dev:~ # ldd /usr/local/sbin/dnsdist | grep quiche
> > > libquiche.so =3D> /usr/local/lib/libquiche.so (0x3af8e91e0000)
> > >
> > > It seems like the package build missed that dependency and doesn't
> report as a shared lib provided by quiche?
> > >
> > > # pkg info -b quiche
> > > quiche-0.20.1:
> > >
> > > Should there be a shared lib provided there:
> > >
> > > quiche-0.20.1:
> > >         libquiche.so
> > >
> > > I thought that the USE_LDCONFIG=3D yes in the Makefile was taking car=
e
> of that automatically. And this is correctly set in the Makefile...
> > >
> > > Thanks!
> > >
> > > Yann
> > >
> > >
> > >
> >
> >
> > --
> > Junho Choi <junho dot choi at gmail.com> | https://saturnsoft.net
>
>
>
> --
> Junho Choi <junho dot choi at gmail.com> | https://saturnsoft.net
>


--=20
Junho Choi <junho dot choi at gmail.com> | https://saturnsoft.net

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

<div dir=3D"ltr">quiche 0.22.0 with the soname fix released: <a href=3D"htt=
ps://github.com/cloudflare/quiche/releases/tag/0.22.0">https://github.com/c=
loudflare/quiche/releases/tag/0.22.0</a></div><br><div class=3D"gmail_quote=
"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Apr 30, 2024 at 9:23=E2=80=
=AFPM Junho Choi &lt;<a href=3D"mailto:junho.choi@gmail.com">junho.choi@gma=
il.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex">I was looking into pkg source and found a relevant line:<br>
<br>
<a href=3D"https://github.com/freebsd/pkg/blob/b0a68a933f42aec97c8f37543bca=
c41149c28e2e/libpkg/pkg_elf.c#L402-L410" rel=3D"noreferrer" target=3D"_blan=
k">https://github.com/freebsd/pkg/blob/b0a68a933f42aec97c8f37543bcac41149c2=
8e2e/libpkg/pkg_elf.c#L402-L410</a><br>
<br>
It seems to look for soname in the shared libs to be added to &quot;shlibs<=
br>
provided&quot; section, but currently<br>
quiche has no soname in the .so file:<br>
<a href=3D"https://github.com/cloudflare/quiche/issues/598" rel=3D"noreferr=
er" target=3D"_blank">https://github.com/cloudflare/quiche/issues/598</a><b=
r>
<br>
I made a PR to fix this:<br>
<a href=3D"https://github.com/cloudflare/quiche/pull/1769" rel=3D"noreferre=
r" target=3D"_blank">https://github.com/cloudflare/quiche/pull/1769</a><br>;
<br>
After that, I made a fix on the port and now it looks ok:<br>
<br>
Shared Libs provided:<br>
=C2=A0 =C2=A0 libquiche.so.0<br>
<br>
Let&#39;s see how it is merged. I&#39;ll update the quiche port when it&#39=
;s ready.<br>
<br>
On Tue, Apr 30, 2024 at 12:17=E2=80=AFPM Junho Choi &lt;<a href=3D"mailto:j=
unho.choi@gmail.com" target=3D"_blank">junho.choi@gmail.com</a>&gt; wrote:<=
br>
&gt;<br>
&gt; (Cross posting to ports@)<br>
&gt;<br>
&gt; Yann - yes I can reproduce it but have no idea why.<br>
&gt;<br>
&gt; It seems quiche doesn&#39;t have a &quot;Shared Lib provided&quot; sec=
tion like<br>
&gt; other libs. (see below)<br>
&gt;<br>
&gt; Other than USE_LDCONFIG, what affects it? Any advice from committers?<=
br>
&gt;<br>
&gt; % pkg info quiche<br>
&gt; quiche-0.20.1<br>
&gt; Name=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: quiche<br>
&gt; Version=C2=A0 =C2=A0 =C2=A0 =C2=A0 : 0.20.1<br>
&gt; Installed on=C2=A0 =C2=A0: Tue Apr 30 03:14:32 2024 UTC<br>
&gt; Origin=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: net/quiche<br>
&gt; Architecture=C2=A0 =C2=A0: FreeBSD:14:amd64<br>
&gt; Prefix=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: /usr/local<br>
&gt; Categories=C2=A0 =C2=A0 =C2=A0: net<br>
&gt; Licenses=C2=A0 =C2=A0 =C2=A0 =C2=A0: BSD2CLAUSE<br>
&gt; Maintainer=C2=A0 =C2=A0 =C2=A0: <a href=3D"mailto:junho.choi@gmail.com=
" target=3D"_blank">junho.choi@gmail.com</a><br>
&gt; WWW=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 : <a href=3D"https://crat=
es.io/crates/quiche" rel=3D"noreferrer" target=3D"_blank">https://crates.io=
/crates/quiche</a><br>
&gt; Comment=C2=A0 =C2=A0 =C2=A0 =C2=A0 : Savoury implementation of the QUI=
C transport protocol<br>
&gt; and HTTP/3<br>
&gt; Options=C2=A0 =C2=A0 =C2=A0 =C2=A0 :<br>
&gt;=C2=A0 =C2=A0 =C2=A0DOCS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: on<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0QLOG=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: on<b=
r>
&gt; Annotations=C2=A0 =C2=A0 :<br>
&gt;=C2=A0 =C2=A0 =C2=A0FreeBSD_version: 1400097<br>
&gt;=C2=A0 =C2=A0 =C2=A0build_timestamp: 2024-04-04T20:02:03+0000<br>
&gt;=C2=A0 =C2=A0 =C2=A0built_by=C2=A0 =C2=A0 =C2=A0 =C2=A0: poudriere-git-=
3.4.1-1-g1e9f97d6<br>
&gt;=C2=A0 =C2=A0 =C2=A0port_checkout_unclean: no<br>
&gt;=C2=A0 =C2=A0 =C2=A0port_git_hash=C2=A0 : 0e1153d3a5<br>
&gt;=C2=A0 =C2=A0 =C2=A0ports_top_checkout_unclean: no<br>
&gt;=C2=A0 =C2=A0 =C2=A0ports_top_git_hash: f5d16d08a6<br>
&gt;=C2=A0 =C2=A0 =C2=A0repo_type=C2=A0 =C2=A0 =C2=A0 : binary<br>
&gt;=C2=A0 =C2=A0 =C2=A0repository=C2=A0 =C2=A0 =C2=A0: FreeBSD<br>
&gt; Flat size=C2=A0 =C2=A0 =C2=A0 : 48.2MiB<br>
&gt;<br>
&gt;<br>
&gt; Other example (libnghttp2 has &quot;Shared Lib Provided&quot; section)=
<br>
&gt;<br>
&gt; % pkg info libnghttp2<br>
&gt; libnghttp2-1.61.0<br>
&gt; Name=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: libnghttp2<br>
&gt; Version=C2=A0 =C2=A0 =C2=A0 =C2=A0 : 1.61.0<br>
&gt; Installed on=C2=A0 =C2=A0: Sun Apr 21 12:06:36 2024 UTC<br>
&gt; Origin=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: www/libnghttp2<br>
&gt; Architecture=C2=A0 =C2=A0: FreeBSD:14:amd64<br>
&gt; Prefix=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: /usr/local<br>
&gt; Categories=C2=A0 =C2=A0 =C2=A0: www net<br>
&gt; Licenses=C2=A0 =C2=A0 =C2=A0 =C2=A0: MIT<br>
&gt; Maintainer=C2=A0 =C2=A0 =C2=A0: sunpoet@FreeBSD.org<br>
&gt; WWW=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 : <a href=3D"https://nght=
tp2.org/" rel=3D"noreferrer" target=3D"_blank">https://nghttp2.org/</a><br>;
&gt; Comment=C2=A0 =C2=A0 =C2=A0 =C2=A0 : HTTP/2.0 C Library<br>
&gt; Shared Libs provided:<br>
&gt;=C2=A0 =C2=A0 =C2=A0libnghttp2.so.14<br>
&gt; Annotations=C2=A0 =C2=A0 :<br>
&gt;=C2=A0 =C2=A0 =C2=A0FreeBSD_version: 1400097<br>
&gt;=C2=A0 =C2=A0 =C2=A0build_timestamp: 2024-04-11T01:12:38+0000<br>
&gt;=C2=A0 =C2=A0 =C2=A0built_by=C2=A0 =C2=A0 =C2=A0 =C2=A0: poudriere-git-=
3.4.1-1-g1e9f97d6<br>
&gt;=C2=A0 =C2=A0 =C2=A0cpe=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 : cpe:=
2.3:a:nghttp2:nghttp2:1.61.0:::::freebsd14:x64<br>
&gt;=C2=A0 =C2=A0 =C2=A0port_checkout_unclean: no<br>
&gt;=C2=A0 =C2=A0 =C2=A0port_git_hash=C2=A0 : 2b3fb39407<br>
&gt;=C2=A0 =C2=A0 =C2=A0ports_top_checkout_unclean: no<br>
&gt;=C2=A0 =C2=A0 =C2=A0ports_top_git_hash: 2910ff97e7<br>
&gt;=C2=A0 =C2=A0 =C2=A0repo_type=C2=A0 =C2=A0 =C2=A0 : binary<br>
&gt;=C2=A0 =C2=A0 =C2=A0repository=C2=A0 =C2=A0 =C2=A0: FreeBSD<br>
&gt; Flat size=C2=A0 =C2=A0 =C2=A0 : 801KiB<br>
&gt;<br>
&gt; On Fri, Apr 26, 2024 at 11:32=E2=80=AFAM Yann Kerherv=C3=A9 &lt;<a hre=
f=3D"mailto:yann.kerherve@gmail.com" target=3D"_blank">yann.kerherve@gmail.=
com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; Hello,<br>
&gt; &gt;<br>
&gt; &gt; I have an issue with `pkg check` reporting a dependency missing:<=
br>
&gt; &gt;<br>
&gt; &gt; root@dev:~ # pkg check -d -a<br>
&gt; &gt; Checking all packages: 100%<br>
&gt; &gt; dnsdist is missing a required shared library: libquiche.so<br>
&gt; &gt;<br>
&gt; &gt; (in FreeBSD 13.3 and 14.0)<br>
&gt; &gt;<br>
&gt; &gt; This is bogus:<br>
&gt; &gt; root@dev:~ # ldd /usr/local/sbin/dnsdist | grep quiche<br>
&gt; &gt; libquiche.so =3D&gt; /usr/local/lib/libquiche.so (0x3af8e91e0000)=
<br>
&gt; &gt;<br>
&gt; &gt; It seems like the package build missed that dependency and doesn&=
#39;t report as a shared lib provided by quiche?<br>
&gt; &gt;<br>
&gt; &gt; # pkg info -b quiche<br>
&gt; &gt; quiche-0.20.1:<br>
&gt; &gt;<br>
&gt; &gt; Should there be a shared lib provided there:<br>
&gt; &gt;<br>
&gt; &gt; quiche-0.20.1:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libquiche.so<br>
&gt; &gt;<br>
&gt; &gt; I thought that the USE_LDCONFIG=3D yes in the Makefile was taking=
 care of that automatically. And this is correctly set in the Makefile...<b=
r>
&gt; &gt;<br>
&gt; &gt; Thanks!<br>
&gt; &gt;<br>
&gt; &gt; Yann<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Junho Choi &lt;junho dot choi at <a href=3D"http://gmail.com" rel=3D"n=
oreferrer" target=3D"_blank">gmail.com</a>&gt; | <a href=3D"https://saturns=
oft.net" rel=3D"noreferrer" target=3D"_blank">https://saturnsoft.net</a><br=
>
<br>
<br>
<br>
-- <br>
Junho Choi &lt;junho dot choi at <a href=3D"http://gmail.com" rel=3D"norefe=
rrer" target=3D"_blank">gmail.com</a>&gt; | <a href=3D"https://saturnsoft.n=
et" rel=3D"noreferrer" target=3D"_blank">https://saturnsoft.net</a><br>;
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr">Junho Choi &lt;junho dot choi at <a href=3D"http:=
//gmail.com" target=3D"_blank">gmail.com</a>&gt; | <a href=3D"https://satur=
nsoft.net" target=3D"_blank">https://saturnsoft.net</a><br></div></div></di=
v></div>

--000000000000c3e302061bd5e909--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ5e%2BHDMtwpRkFUFJqCV2ENw3YnBTn7jwh20e2w1Z=QqEF0YKg>