Date: Sun, 14 Jul 2024 21:49:23 +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%2BHCqM%2BkweHs1Zg7MkjDW32KWU6zqN4iLpofYQNEdnUdQ9g@mail.gmail.com> In-Reply-To: <CAJ5e%2BHDMtwpRkFUFJqCV2ENw3YnBTn7jwh20e2w1Z=QqEF0YKg@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> <CAJ5e%2BHDMtwpRkFUFJqCV2ENw3YnBTn7jwh20e2w1Z=QqEF0YKg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000faa0b3061d348c1a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Yann, I filed a patch to update quiche to 0.22.0, with a correct .so installation= . With this port, I don't get "dnsdist is missing a required shared library: libquiche.so" any more. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D280274 It'd be great if any committer will pick it up! Best, On Thu, Jun 27, 2024 at 11:29=E2=80=AFAM Junho Choi <junho.choi@gmail.com> = wrote: > 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>= wrote: > >> I was looking into pkg source and found a relevant line: >> >> >> https://github.com/freebsd/pkg/blob/b0a68a933f42aec97c8f37543bcac41149c2= 8e2e/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.co= m> 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:x6= 4 >> > 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.kerh= erve@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 ca= re >> 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 >> > > > -- > Junho Choi <junho dot choi at gmail.com> | https://saturnsoft.net > --=20 Junho Choi <junho dot choi at gmail.com> | https://saturnsoft.net --000000000000faa0b3061d348c1a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Yann,<br></div><div><br></div><div>I filed a patch to= update quiche to 0.22.0, with a correct .so installation.</div><div><br></= div><div>With this port, I don't get "<font face=3D"monospace">dns= dist is missing a required shared library: libquiche.<span class=3D"gmail-i= l">so" any more.</span></font></div><div><font face=3D"monospace"><spa= n class=3D"gmail-il"><br></span></font></div><div><a href=3D"https://bugs.f= reebsd.org/bugzilla/show_bug.cgi?id=3D280274">https://bugs.freebsd.org/bugz= illa/show_bug.cgi?id=3D280274</a></div><div><br></div><div>It'd be grea= t if any committer will pick it up!</div><div><br></div><div>Best,<br></div= ><div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class= =3D"gmail_attr">On Thu, Jun 27, 2024 at 11:29=E2=80=AFAM Junho Choi <<a = href=3D"mailto:junho.choi@gmail.com">junho.choi@gmail.com</a>> wrote:<br= ></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;= border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">q= uiche 0.22.0 with the soname fix released: <a href=3D"https://github.com/cl= oudflare/quiche/releases/tag/0.22.0" target=3D"_blank">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 <<a href=3D"mailto:junho.choi@gmail.com" target=3D"_bla= nk">junho.choi@gmail.com</a>> wrote:<br></div><blockquote class=3D"gmail= _quote" style=3D"margin: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 "shlibs<= br> provided" 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's see how it is merged. I'll update the quiche port when it'= ;s ready.<br> <br> On Tue, Apr 30, 2024 at 12:17=E2=80=AFPM Junho Choi <<a href=3D"mailto:j= unho.choi@gmail.com" target=3D"_blank">junho.choi@gmail.com</a>> wrote:<= br> ><br> > (Cross posting to ports@)<br> ><br> > Yann - yes I can reproduce it but have no idea why.<br> ><br> > It seems quiche doesn't have a "Shared Lib provided" sec= tion like<br> > other libs. (see below)<br> ><br> > Other than USE_LDCONFIG, what affects it? Any advice from committers?<= br> ><br> > % pkg info quiche<br> > quiche-0.20.1<br> > Name=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: quiche<br> > Version=C2=A0 =C2=A0 =C2=A0 =C2=A0 : 0.20.1<br> > Installed on=C2=A0 =C2=A0: Tue Apr 30 03:14:32 2024 UTC<br> > Origin=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: net/quiche<br> > Architecture=C2=A0 =C2=A0: FreeBSD:14:amd64<br> > Prefix=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: /usr/local<br> > Categories=C2=A0 =C2=A0 =C2=A0: net<br> > Licenses=C2=A0 =C2=A0 =C2=A0 =C2=A0: BSD2CLAUSE<br> > Maintainer=C2=A0 =C2=A0 =C2=A0: <a href=3D"mailto:junho.choi@gmail.com= " target=3D"_blank">junho.choi@gmail.com</a><br> > 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> > Comment=C2=A0 =C2=A0 =C2=A0 =C2=A0 : Savoury implementation of the QUI= C transport protocol<br> > and HTTP/3<br> > Options=C2=A0 =C2=A0 =C2=A0 =C2=A0 :<br> >=C2=A0 =C2=A0 =C2=A0DOCS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: on<b= r> >=C2=A0 =C2=A0 =C2=A0QLOG=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: on<b= r> > Annotations=C2=A0 =C2=A0 :<br> >=C2=A0 =C2=A0 =C2=A0FreeBSD_version: 1400097<br> >=C2=A0 =C2=A0 =C2=A0build_timestamp: 2024-04-04T20:02:03+0000<br> >=C2=A0 =C2=A0 =C2=A0built_by=C2=A0 =C2=A0 =C2=A0 =C2=A0: poudriere-git-= 3.4.1-1-g1e9f97d6<br> >=C2=A0 =C2=A0 =C2=A0port_checkout_unclean: no<br> >=C2=A0 =C2=A0 =C2=A0port_git_hash=C2=A0 : 0e1153d3a5<br> >=C2=A0 =C2=A0 =C2=A0ports_top_checkout_unclean: no<br> >=C2=A0 =C2=A0 =C2=A0ports_top_git_hash: f5d16d08a6<br> >=C2=A0 =C2=A0 =C2=A0repo_type=C2=A0 =C2=A0 =C2=A0 : binary<br> >=C2=A0 =C2=A0 =C2=A0repository=C2=A0 =C2=A0 =C2=A0: FreeBSD<br> > Flat size=C2=A0 =C2=A0 =C2=A0 : 48.2MiB<br> ><br> ><br> > Other example (libnghttp2 has "Shared Lib Provided" section)= <br> ><br> > % pkg info libnghttp2<br> > libnghttp2-1.61.0<br> > Name=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: libnghttp2<br> > Version=C2=A0 =C2=A0 =C2=A0 =C2=A0 : 1.61.0<br> > Installed on=C2=A0 =C2=A0: Sun Apr 21 12:06:36 2024 UTC<br> > Origin=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: www/libnghttp2<br> > Architecture=C2=A0 =C2=A0: FreeBSD:14:amd64<br> > Prefix=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: /usr/local<br> > Categories=C2=A0 =C2=A0 =C2=A0: www net<br> > Licenses=C2=A0 =C2=A0 =C2=A0 =C2=A0: MIT<br> > Maintainer=C2=A0 =C2=A0 =C2=A0: sunpoet@FreeBSD.org<br> > 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> > Comment=C2=A0 =C2=A0 =C2=A0 =C2=A0 : HTTP/2.0 C Library<br> > Shared Libs provided:<br> >=C2=A0 =C2=A0 =C2=A0libnghttp2.so.14<br> > Annotations=C2=A0 =C2=A0 :<br> >=C2=A0 =C2=A0 =C2=A0FreeBSD_version: 1400097<br> >=C2=A0 =C2=A0 =C2=A0build_timestamp: 2024-04-11T01:12:38+0000<br> >=C2=A0 =C2=A0 =C2=A0built_by=C2=A0 =C2=A0 =C2=A0 =C2=A0: poudriere-git-= 3.4.1-1-g1e9f97d6<br> >=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> >=C2=A0 =C2=A0 =C2=A0port_checkout_unclean: no<br> >=C2=A0 =C2=A0 =C2=A0port_git_hash=C2=A0 : 2b3fb39407<br> >=C2=A0 =C2=A0 =C2=A0ports_top_checkout_unclean: no<br> >=C2=A0 =C2=A0 =C2=A0ports_top_git_hash: 2910ff97e7<br> >=C2=A0 =C2=A0 =C2=A0repo_type=C2=A0 =C2=A0 =C2=A0 : binary<br> >=C2=A0 =C2=A0 =C2=A0repository=C2=A0 =C2=A0 =C2=A0: FreeBSD<br> > Flat size=C2=A0 =C2=A0 =C2=A0 : 801KiB<br> ><br> > On Fri, Apr 26, 2024 at 11:32=E2=80=AFAM Yann Kerherv=C3=A9 <<a hre= f=3D"mailto:yann.kerherve@gmail.com" target=3D"_blank">yann.kerherve@gmail.= com</a>> wrote:<br> > ><br> > > Hello,<br> > ><br> > > I have an issue with `pkg check` reporting a dependency missing:<= br> > ><br> > > root@dev:~ # pkg check -d -a<br> > > Checking all packages: 100%<br> > > dnsdist is missing a required shared library: libquiche.so<br> > ><br> > > (in FreeBSD 13.3 and 14.0)<br> > ><br> > > This is bogus:<br> > > root@dev:~ # ldd /usr/local/sbin/dnsdist | grep quiche<br> > > libquiche.so =3D> /usr/local/lib/libquiche.so (0x3af8e91e0000)= <br> > ><br> > > It seems like the package build missed that dependency and doesn&= #39;t report as a shared lib provided by quiche?<br> > ><br> > > # pkg info -b quiche<br> > > quiche-0.20.1:<br> > ><br> > > Should there be a shared lib provided there:<br> > ><br> > > quiche-0.20.1:<br> > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libquiche.so<br> > ><br> > > 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> > ><br> > > Thanks!<br> > ><br> > > Yann<br> > ><br> > ><br> > ><br> ><br> ><br> > --<br> > Junho Choi <junho dot choi at <a href=3D"http://gmail.com" rel=3D"n= oreferrer" target=3D"_blank">gmail.com</a>> | <a href=3D"https://saturns= oft.net" rel=3D"noreferrer" target=3D"_blank">https://saturnsoft.net</a><br= > <br> <br> <br> -- <br> Junho Choi <junho dot choi at <a href=3D"http://gmail.com" rel=3D"norefe= rrer" target=3D"_blank">gmail.com</a>> | <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 <junho dot choi at <a href=3D"http:= //gmail.com" target=3D"_blank">gmail.com</a>> | <a href=3D"https://satur= nsoft.net" target=3D"_blank">https://saturnsoft.net</a><br></div></div></di= v></div> </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 <junho dot choi at <a href=3D"http:= //gmail.com" target=3D"_blank">gmail.com</a>> | <a href=3D"https://satur= nsoft.net" target=3D"_blank">https://saturnsoft.net</a><br></div></div></di= v></div> --000000000000faa0b3061d348c1a--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ5e%2BHCqM%2BkweHs1Zg7MkjDW32KWU6zqN4iLpofYQNEdnUdQ9g>