Re: ld: error: undefined symbol: xdr_domainname in stable/13
Date: Wed, 27 Jul 2022 01:40:25 UTC
On 2022-Jul-26, at 13:14, bob prohaska <fbsd@www.zefox.net> wrote:
>
> Just had a buildworld stop with
>
> ld: error: undefined symbol: xdr_domainname
>>>> referenced by yplib.c:471 (/usr/src/lib/libc/yp/yplib.c:471)
>>>> yplib.o:(_yp_dobind) in archive /usr/obj/usr/src/arm64.aarch64/tmp/usr/lib/lib
> c.a
>>>> referenced by yplib.c:471 (/usr/src/lib/libc/yp/yplib.c:471)
>>>> yplib.o:(_yp_dobind) in archive /usr/obj/usr/src/arm64.aarch64/tmp/usr/lib/lib
> c.a
>>>> referenced by yplib.c:0 (/usr/src/lib/libc/yp/yplib.c:0)
>>>> yplib.o:(yp_maplist) in archive /usr/obj/usr/src/arm64.aarch64/tmp/usr/lib/lib
> c.a
>>>> referenced 1 more times
>
> A re-run of git pull on July 26 around 1 pm PDT didn't fix it.
> I'm using -DWITH_META_MODE, could that matter?
I do not know overall, but the source code for the routine
is generated by a tool. Your build tree should have ended
up with a:
arm64.aarch64/lib/libc/yp_xdr.c
that contains the source code for that routine --and for others.
It is the compiling of that source and linking with the result
that should provide the definition.
For reference:
# grep -r yp_xdr /usr/13S-src/ | more
/usr/13S-src/lib/libc/yp/Makefile.inc:SRCS+= xdryp.c yp.h yp_xdr.c yplib.c
/usr/13S-src/lib/libc/yp/Makefile.inc:CLEANFILES+= yp.h yp_xdr.c
/usr/13S-src/lib/libc/yp/Makefile.inc:yp_xdr.c: ${RPCSRC}
/usr/13S-src/lib/libc/rpc/Symbol.map: /* From yp_xdr.c (generated by rpcgen - include/rpcsvc/yp.x) */
# more /usr/13S-src/lib/libc/yp/Makefile.inc
# from: @(#)Makefile.inc 5.3 (Berkeley) 2/20/91
# $FreeBSD$
# yp sources
.PATH: ${LIBC_SRCTOP}/yp
SRCS+= xdryp.c yp.h yp_xdr.c yplib.c
CLEANFILES+= yp.h yp_xdr.c
SYM_MAPS+= ${LIBC_SRCTOP}/yp/Symbol.map
RPCSRC= ${SRCTOP}/include/rpcsvc/yp.x
RPCGEN= RPCGEN_CPP=${CPP:Q} rpcgen -C
yp_xdr.c: ${RPCSRC}
${RPCGEN} -c -o ${.TARGET} ${RPCSRC}
yp.h: ${RPCSRC}
${RPCGEN} -h -o ${.TARGET} ${RPCSRC}
===
Mark Millard
marklmi at yahoo.com