Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Aug 2023 18:22:43 +0200
From:      Michael Gmelin <grembo@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Matthias Apitz <guru@unixarea.de>, freebsd-current@freebsd.org
Subject:   Re: make buildworld puts legacy tools into the /usr/obj/... tree
Message-ID:  <C65E8236-C5ED-444C-99CD-1E89B4582841@freebsd.org>
In-Reply-To: <CANCZdfpackhr99ctRDz6WnJ32HE%2Bg=AhoSn=eDSPpdyW%2BBkJUA@mail.gmail.com>
References:  <CANCZdfpackhr99ctRDz6WnJ32HE%2Bg=AhoSn=eDSPpdyW%2BBkJUA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail-BE6BFDC8-DAA4-4C10-B1AD-29A2BF543C85
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto"><div dir=3D"ltr"></div><div dir=3D"ltr"><br=
></div><div dir=3D"ltr"><br><div dir=3D"ltr"></div><blockquote type=3D"cite"=
>On 6. Aug 2023, at 18:12, Warner Losh &lt;imp@bsdimp.com&gt; wrote:<br><br>=
</blockquote></div><blockquote type=3D"cite"><div dir=3D"ltr">=EF=BB=BF<div d=
ir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr" class=3D"gmail_attr">On Sun, Aug 6, 2023 at 10:05=E2=80=AFAM Matth=
ias Apitz &lt;<a href=3D"mailto:guru@unixarea.de">guru@unixarea.de</a>&gt; w=
rote:<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">El d=C3=ADa d=
omingo, agosto 06, 2023 a las 09:58:32a. m. -0600, Warner Losh escribi=C3=B3=
:<br>
<br>
&gt; On Sun, Aug 6, 2023 at 7:58=E2=80=AFAM Matthias Apitz &lt;<a href=3D"ma=
ilto:guru@unixarea.de" target=3D"_blank">guru@unixarea.de</a>&gt; wrote:<br>=

&gt; <br>
&gt; &gt;<br>
&gt; &gt; I did, based of a git clone of head, a clean compile of world and k=
ernel<br>
&gt; &gt; with<br>
&gt; &gt;<br>
&gt; &gt; # cd /usr<br>
&gt; &gt; # rm -rf obj<br>
&gt; &gt; # mkdir obj<br>
&gt; &gt; # cd src<br>
&gt; &gt; # make -j8 buildworld<br>
&gt; &gt; # make -j8 buildkernel<br>
&gt; &gt; ...<br>
&gt; &gt; I installed the result and the system runs fine. For some test I w=
anted<br>
&gt; &gt; to do another installation to some DESTDIR with<br>
&gt; &gt;<br>
&gt; &gt; # make installworld DESTDIR=3D/home/...<br>
&gt; &gt;<br>
&gt; &gt; This failed with:<br>
&gt; &gt;<br>
&gt; &gt; --- installworld ---<br>
&gt; &gt; mkdir -p /tmp/install.j76anzU56j<br>
&gt; &gt;<br>
&gt; &gt; ...<br>
&gt; &gt; Required library libdialog.so.8 not found.<br>
&gt; &gt; *** [installworld] Error code 1<br>
&gt; &gt;<br>
&gt; &gt; make[1]: stopped in /usr/src<br>
&gt; &gt;<br>
&gt; &gt; Investigating the problem it turned out that the 'make buildworld'=
 puts<br>
&gt; &gt; a lot of legacy binaries in to some directory:<br>
&gt; &gt;<br>
&gt; &gt; # ls -l /usr/obj/usr/src/amd64.amd64/tmp/legacy/bin<br>
&gt; &gt; total 36976<br>
&gt; &gt; -r-xr-xr-x&nbsp; 1 root wheel&nbsp; &nbsp;13304 Nov 30&nbsp; 2020 [=
<br>
&gt; &gt; lrwxr-xr-x&nbsp; 1 root wheel&nbsp; &nbsp; &nbsp; 54 Aug&nbsp; 5 1=
3:05 apropos -&gt;<br>
&gt; &gt; /usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin/mandoc<br>
&gt; &gt; -rwxr-xr-x&nbsp; 1 root wheel 1008512 Aug&nbsp; 5 13:05 asn1_compi=
le<br>
&gt; &gt; -r-xr-xr-x&nbsp; 1 root wheel&nbsp; 217504 Nov 30&nbsp; 2020 awk<b=
r>
&gt; &gt; -r-xr-xr-x&nbsp; 1 root wheel&nbsp; &nbsp; 9576 Nov 30&nbsp; 2020 b=
asename<br>
&gt; &gt; -r-xr-xr-x&nbsp; 1 root wheel&nbsp; 195712 Nov 30&nbsp; 2020 bmake=
<br>
&gt; &gt; -r-xr-xr-x&nbsp; 1 root wheel&nbsp; &nbsp;33848 Nov 30&nbsp; 2020 b=
unzip2<br>
&gt; &gt; ...<br>
&gt; &gt; They are all from the system before updating it (from Nov 30 2020)=
 and<br>
&gt; &gt; of course are missing shared libs when they get called in the actu=
al<br>
&gt; &gt; system, for example<br>
&gt; &gt;<br>
&gt; &gt; # ldd /usr/obj/usr/src/amd64.amd64/tmp/legacy/bin/tzsetup<br>
&gt; &gt; /usr/obj/usr/src/amd64.amd64/tmp/legacy/bin/tzsetup:<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libdialog.so.8 =3D&gt; not found (=
0)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br=
>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libncursesw.so.9 =3D&gt; /lib/lib=
ncursesw.so.9 (0xf283d7b4000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libc.so.7 =3D&gt; /lib/libc.so.7 (=
0xf283e729000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libtinfow.so.9 =3D&gt; /lib/libti=
nfow.so.9 (0xf283c93d000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[vdso] (0xf283c4a4000)<br>
&gt; &gt;<br>
&gt; &gt; # which tzsetup<br>
&gt; &gt; /usr/sbin/tzsetup<br>
&gt; &gt; # ldd /usr/sbin/tzsetup<br>
&gt; &gt; /usr/sbin/tzsetup:<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libprivatebsddialog.so.0 =3D&gt; /=
usr/lib/libprivatebsddialog.so.0<br>
&gt; &gt; (0x1797fe45c000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libc.so.7 =3D&gt; /lib/libc.so.7 (=
0x1797fec89000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libncursesw.so.9 =3D&gt; /lib/lib=
ncursesw.so.9 (0x1798011df000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libtinfow.so.9 =3D&gt; /lib/libti=
nfow.so.9 (0x17980043d000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;libformw.so.6 =3D&gt; /usr/lib/li=
bformw.so.6 (0x17980164c000)<br>
&gt; &gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[vdso] (0x1797fe2d9000)<br>
&gt; &gt;<br>
&gt; &gt; Why is this with the tools in /usr/obj/usr/src/amd64.amd64/tmp/leg=
acy/bin ?<br>
&gt; &gt; Or what I have done wrong or overlooked?<br>
&gt; &gt;<br>
&gt; <br>
&gt; So, the build process builds tools that are used to make and install<br=
>
&gt; FreeBSD.<br>
&gt; That's what legacy is about: providing a compatible way to do all this.=
 We<br>
&gt; setup env vars, etc, so that these tools pull their libraries from lega=
cy<br>
&gt; as well<br>
&gt; so that we have a consistent set of binaries to run on while the rest o=
f<br>
&gt; the world<br>
&gt; is being replaced. I'm surprised to see this failing, since it's what<b=
r>
&gt; nanobsd does<br>
&gt; all the time, and I build new systems with nanobsd every week based on<=
br>
&gt; recent<br>
&gt; current trees.<br>
&gt; <br>
&gt; Is there a libdalog.so.8 in your tmp/legacy tree at all?<br>
<br>
No, there is not:<br>
<br>
root@jet:~ # find /usr/obj.broken -name libdalog.so.8<br>
root@jet:~ # <br>
<br>
The problem, for sure, is not when you build every day, but in my case<br>
the last build (and the system used for building) was 2 years old. And note:=
<br>
I started with an empty new /usr/obj.<br></blockquote><div><br></div><div>So=
 what's the vintage of the host you are building with? And what sources are<=
/div><div>you building...</div><div><br></div><div>Also of note: we switched=
 to no-clean builds by default which is way faster, but</div><div>also expos=
es issues like this...</div></div></div>
</div></blockquote><br><div>Thanks, this is valuable information (starts ada=
pting idempotent playbooks).</div><div><br></div><div>-m</div></body></html>=

--Apple-Mail-BE6BFDC8-DAA4-4C10-B1AD-29A2BF543C85--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C65E8236-C5ED-444C-99CD-1E89B4582841>