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

From: Kirill Ponomarev <kp_at_krion.cc>
Date: Thu, 09 Dec 2021 19:49:41 UTC
On 12/09, Mark Johnston wrote:
> 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?

I'm running it in /usr/src not in poudriere, so I ran with and without
NO_CLEAN and ran "make cleanworld" as well, it's still failing.