Commit 4510f2ca9170927309a423274e03f1eb8e27da27 changed the linker default to fail if undefined symbols are found during shared library creation. If WITHOUT_NIS is specified, linking libc.so.7 fails: ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_domainname' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_keydat' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_mapname' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_peername' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_valdat' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypbind_binding' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypbind_resp' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypbind_resptype' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypbind_setdom' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypmap_parms' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypmaplist' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_yppush_status' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_yppushresp_xfr' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypreq_key' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypreq_nokey' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypreq_xfr' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypreqtype' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_yprequest' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresp_all' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresp_key_val' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresp_maplist' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresp_master' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresp_order' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresp_val' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresp_xfr' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresponse' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypresptype' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypstat' failed: symbol not defined ld: error: version script assignment of 'FBSD_1.0' to symbol 'xdr_ypxfrstat' failed: symbol not defined These symbols are listed in /usr/src/lib/libc/rpc/Symbol.map but defined in yp_xdr.c, which is built from /usr/src/include/rpcsvc/yp.x via /usr/src/lib/libc/yp/Makefile.inc I believe the fix is to move those symbols into /usr/src/lib/libc/yp/Symbol.map
I had a go at this via these two: https://reviews.freebsd.org/D45346 https://reviews.freebsd.org/D45345 D45346 may still make sense to support similar cases that may come up in the future, but for this issue moving them to the existing lib/libc/yp/Symbol.map sounds like the right thing.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=61639bb3fc5abe0bb7b096e643b51c30703ac432 commit 61639bb3fc5abe0bb7b096e643b51c30703ac432 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2024-05-24 17:27:29 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2024-05-24 20:47:37 +0000 libc: move NIS xdr_* symbols from rpc's to yp's Symbol.map To fix WITHOUT_NIS build. Building yp_xdr.c is gated by MK_NIS. PR: 279270 Reported by: peterj Reported by: matteo Reported by: Michael Dexter's Build Option Survey run Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45347 lib/libc/rpc/Symbol.map | 31 ------------------------------- lib/libc/yp/Symbol.map | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 31 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=1e3dfe0c343c74d4c7162e25378b221e5a797917 commit 1e3dfe0c343c74d4c7162e25378b221e5a797917 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2024-05-24 17:27:29 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2024-05-29 15:40:18 +0000 libc: move NIS xdr_* symbols from rpc's to yp's Symbol.map To fix WITHOUT_NIS build. Building yp_xdr.c is gated by MK_NIS. PR: 279270 Reported by: peterj Reported by: matteo Reported by: Michael Dexter's Build Option Survey run Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45347 (cherry picked from commit 61639bb3fc5abe0bb7b096e643b51c30703ac432) lib/libc/rpc/Symbol.map | 31 ------------------------------- lib/libc/yp/Symbol.map | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 31 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=4010c267a55c5bdb8f752f023d147de3021f9d75 commit 4010c267a55c5bdb8f752f023d147de3021f9d75 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2024-05-24 17:27:29 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2024-05-29 15:42:17 +0000 libc: move NIS xdr_* symbols from rpc's to yp's Symbol.map To fix WITHOUT_NIS build. Building yp_xdr.c is gated by MK_NIS. PR: 279270 Reported by: peterj Reported by: matteo Reported by: Michael Dexter's Build Option Survey run Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45347 (cherry picked from commit 61639bb3fc5abe0bb7b096e643b51c30703ac432) (cherry picked from commit 1e3dfe0c343c74d4c7162e25378b221e5a797917) lib/libc/rpc/Symbol.map | 31 ------------------------------- lib/libc/yp/Symbol.map | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 31 deletions(-)