Date: Mon, 22 Jul 2024 19:23:46 +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%2BHCUT5pv63ddXFu-B45qXyN4STjsebovm25%2BbkQK21K3_Q@mail.gmail.com> In-Reply-To: <CAJ5e%2BHCqM%2BkweHs1Zg7MkjDW32KWU6zqN4iLpofYQNEdnUdQ9g@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> <CAJ5e%2BHCqM%2BkweHs1Zg7MkjDW32KWU6zqN4iLpofYQNEdnUdQ9g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000f9a771061dd372ae Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable This is solved by updating quiche and dnsdist to handle the .so version properly. Best, On Sun, Jul 14, 2024 at 9:49=E2=80=AFPM Junho Choi <junho.choi@gmail.com> w= rote: > 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/b0a68a933f42aec97c8f37543bcac41149c= 28e2e/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.c= om> >>> 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 protoco= l >>> > 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:x= 64 >>> > 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.kerherve@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 c= are >>> 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 >> > > > -- > Junho Choi <junho dot choi at gmail.com> | https://saturnsoft.net > --=20 Junho Choi <junho dot choi at gmail.com> | https://saturnsoft.net --000000000000f9a771061dd372ae Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>This is solved by updating quiche and dnsdist to hand= le the .so version properly.</div><div><br></div><div>Best,<br></div></div>= <br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Sun= , Jul 14, 2024 at 9:49=E2=80=AFPM Junho Choi <<a href=3D"mailto:junho.ch= oi@gmail.com">junho.choi@gmail.com</a>> wrote:<br></div><blockquote clas= s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r= gb(204,204,204);padding-left:1ex"><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">dnsdist is missing a required shared library= : libquiche.<span>so" any more.</span></font></div><div><font face=3D"= monospace"><span><br></span></font></div><div><a href=3D"https://bugs.freeb= sd.org/bugzilla/show_bug.cgi?id=3D280274" target=3D"_blank">https://bugs.fr= eebsd.org/bugzilla/show_bug.cgi?id=3D280274</a></div><div><br></div><div>It= 'd be great 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 Junh= o Choi <<a href=3D"mailto:junho.choi@gmail.com" target=3D"_blank">junho.= choi@gmail.com</a>> wrote:<br></div><blockquote class=3D"gmail_quote" st= yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd= ing-left:1ex"><div dir=3D"ltr">quiche 0.22.0 with the soname fix released: = <a href=3D"https://github.com/cloudflare/quiche/releases/tag/0.22.0" target= =3D"_blank">https://github.com/cloudflare/quiche/releases/tag/0.22.0</a></d= iv><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"_blank">junho.choi@gmail.com</a>> wrote:<br><= /div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bo= rder-left:1px solid rgb(204,204,204);padding-left:1ex">I was looking into p= kg 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> </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> --000000000000f9a771061dd372ae--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ5e%2BHCUT5pv63ddXFu-B45qXyN4STjsebovm25%2BbkQK21K3_Q>