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 <<a href=3D"mailto:junho.choi@gmail.com">junho.choi@gma= il.com</a>> 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 "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> --000000000000c3e302061bd5e909--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ5e%2BHDMtwpRkFUFJqCV2ENw3YnBTn7jwh20e2w1Z=QqEF0YKg>