Re: CURRENT: can not build 13-STABLE: ld: error: undefined symbol: uncompress

From: Mark Johnston <markj_at_freebsd.org>
Date: Thu, 09 Dec 2021 19:09:42 UTC
On Thu, Dec 09, 2021 at 07:37:18PM +0100, Kirill Ponomarev wrote:
> On 12/08, Mark Johnston wrote:
> > On Wed, Dec 08, 2021 at 04:05:16PM +0100, FreeBSD User wrote:
> > > Building recent 13-STABLE sources on a recent 14-CURRENT (FreeBSD 14.0-CURRENT
> > > #7 main-n251463-935dc0de881: Wed Dec  8 06:49:25 CET 2021 amd64) fails with the
> > > linker error shown below.
> > > 
> > > Due to this error, no FreeBSD pkg base nor NanoBSD Image can be build.
> > > 
> > > 
> > > [...]
> > > cc -O2 -pipe -O3 -fno-common
> > > -I/pool/poudriere/jails/13amd64/usr/src/contrib/elftoolchain/libelftc
> > > -I/pool/poudriere/jails/13amd64/usr/src/contrib/elftoolchain/common -DNDEBUG
> > > -std=gnu99 -Wno-format-zero-length -Wsystem-headers -Wall -Wno-format-y2k -W
> > > -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
> > > -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter
> > > -Wcast-align -Wchar-subscripts -Wnested-externs -Wredundant-decls
> > > -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations
> > > -Wthread-safety -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable
> > > -Wno-error=unused-but-set-variable -Qunused-arguments
> > > -I/pool/sources/13-STABLE/obj//pool/poudriere/jails/13amd64/usr/src/amd64.amd64/tmp/legacy/usr/include
> > >  -static
> > > -L/pool/sources/13-STABLE/obj//pool/poudriere/jails/13amd64/usr/src/amd64.amd64/tmp/legacy/usr/lib
> > > -o nm nm.o
> > > -L/pool/sources/13-STABLE/obj//pool/poudriere/jails/13amd64/usr/src/amd64.amd64/tmp/obj-tools/lib/libdwarf
> > > -ldwarf
> > > -L/pool/sources/13-STABLE/obj//pool/poudriere/jails/13amd64/usr/src/amd64.amd64/tmp/obj-tools/lib/libelf
> > > -lelf
> > > -L/pool/sources/13-STABLE/obj//pool/poudriere/jails/13amd64/usr/src/amd64.amd64/tmp/obj-tools/lib/libelftc
> > > -lelftc_pie
> > > -L/pool/sources/13-STABLE/obj//pool/poudriere/jails/13amd64/usr/src/amd64.amd64/tmp/obj-tools/lib/libelf
> > > -lelf  -legacy ld: error: undefined symbol: uncompress
> > > >>> referenced by libdwarf_elf_init.c
> > > >>>               libdwarf_elf_init.o:(_dwarf_elf_init) in archive
> > > >>> /usr/lib/libdwarf.a
> > > cc: error: linker command failed with exit code 1 (use -v to see invocation)
> > > *** [nm] Error code 1
> > 
> > Is this build using WITHOUT_CLEAN?  If so I think you'll need to try a
> > clean build if you had previous built world between dbf05458e3bd and
> > 8d5d329553b3.
> 
> I ran 'make clean' before buildworld and got the same issue.

make clean, or make cleanworld?  I think the latter is needed.  And is
your buildworld done with WITHOUT_CLEAN set?