Re: git: 42ee30f19cc7 - main - depend-cleanup.sh: Need to delete jemalloc.3 in objtree

From: David Wolfskill <david_at_catwhisker.org>
Date: Sat, 14 Dec 2024 12:50:31 UTC
On Sat, Dec 14, 2024 at 12:47:35PM +0100, Herbert J. Skuhra wrote:
> On Sat, 14 Dec 2024 00:04:26 +0100, Warner Losh wrote:
> > 
> > The branch main has been updated by imp:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=42ee30f19cc7ad85187cbf97155dbd5207a04845
> > 
> > commit 42ee30f19cc7ad85187cbf97155dbd5207a04845
> > Author:     Warner Losh <imp@FreeBSD.org>
> > AuthorDate: 2024-12-13 17:46:59 +0000
> > Commit:     Warner Losh <imp@FreeBSD.org>
> > CommitDate: 2024-12-13 23:04:34 +0000
> > 
> >     depend-cleanup.sh: Need to delete jemalloc.3 in objtree
> > ...     

> Does this actually work? Should this be
> 
> if [ -h "$OBJTOP"/lib/libc/jemalloc.3 ]; then
> 
> ?

Empirically:
On a system running:
FreeBSD 15.0-CURRENT #61 main-n274188-38cb1ba8637d: Fri Dec 13 11:58:34 UTC 2024     root@freebeast.catwhisker.org:/common/S4/obj/usr/src/amd64.amd64/sys/GENERIC amd64 1500029 1500029

after updating sources to main-n274215-da5aed38d80a and starting an
in-place source upgrade using meta mode, the build failed:

...
Building /common/S4/obj/usr/src/amd64.amd64/usr.bin/mail/mail
Building /common/S4/obj/usr/src/amd64.amd64/usr.bin/tftp/tftp.1.gz
make[4]: don't know how to make jemalloc.3. Stop

make[4]: stopped making "all" in /usr/src/lib/libc
.ERROR_TARGET='jemalloc.3'
.ERROR_META_FILE=''
.MAKE.LEVEL='4'
MAKEFILE=''
.MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose'
_ERROR_CMD='.PHONY'
....

I then used "find" to find any ocurrences of "jemalloc.3" in
/usr/obj/; one was found: a symlink named
/usr/obj/usr/src/amd64.amd64/lib/libc/jemalloc.3, which pointed to
/usr/src/contrib/jemalloc/doc/jemalloc.3.

The latter did not exist.

Once I removed the symlink, the build succeeeded:
FreeBSD 15.0-CURRENT #62 main-n274215-da5aed38d80a: Sat Dec 14 12:08:41 UTC 2024     root@freebeast.catwhisker.org:/common/S4/obj/usr/src/amd64.amd64/sys/GENERIC amd64 1500029 1500029

On a pair of other (slower) machines, I then had the opportunity to
remove the symlink before starting the build; those completed without
incident.

I believe a src/UPDATING entry would be sufficient to help folks
avoid the error condition.

Peace,
david
-- 
David H. Wolfskill                              david@catwhisker.org
Re. tariffs: https://en.wikipedia.org/wiki/Smoot%E2%80%93Hawley_Tariff_Act

See https://www.catwhisker.org/~david/publickey.gpg for my public key.