ld: error: undefined symbol: yp_get_default_domain

From: Dennis Clarke <dclarke_at_blastwave.org>
Date: Sun, 02 Nov 2025 18:22:10 UTC
This smells like something from the days of YellowPages and NIS.

I was surprised to see last nights buildworld fail :


===> libexec/mknetid (all)
--- mknetid.full ---
cc -target x86_64-unknown-freebsd16.0 
--sysroot=/usr/obj/usr/src/amd64.amd64/tmp 
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe -fno-common -fPIE 
-ffile-prefix-map=/usr/src=/usr/src 
-ffile-prefix-map=/usr/obj/usr/src=/usr/obj -g -gz=zlib -std=gnu17 
-Wno-format-zero-length -fstack-protector-strong -Wsystem-headers 
-Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign 
-Wdate-time -Wformat=2 -Wno-format-extra-args -Werror -Wno-empty-body 
-Wno-string-plus-int -Wno-unused-const-variable 
-Wno-error=unused-but-set-parameter 
-Wno-error=cast-function-type-mismatch -Wno-tautological-compare 
-Wno-unused-value -Wno-parentheses-equality -Wno-unused-function 
-Wno-enum-conversion -Wno-unused-local-typedef 
-Wno-address-of-packed-member -Wno-switch -Wno-switch-enum 
-Wno-knr-promoted-parameter -Wno-format-nonliteral -Qunused-arguments 
-Wl,-zrelro -pie    -o mknetid.full mknetid.pieo hash.pieo 
parse_group.pieo
--- all_subdir_lib ---
--- all_subdir_lib/libclang_rt/dd ---
===> lib/libclang_rt/dd (all)
--- all_subdir_libexec ---
ld: error: undefined symbol: yp_get_default_domain
 >>> referenced by mknetid.c:139 (/usr/src/libexec/mknetid/mknetid.c:139)
 >>>               mknetid.pieo:(main)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [mknetid.full] Error code 1

make[4]: stopped making "all" in /usr/src/libexec/mknetid
make[4]: 1 error

make[4]: stopped making "all" in /usr/src/libexec/mknetid

make[3]: stopped making "all" in /usr/src/libexec

make[2]: stopped making "all" in /usr/src
--- all_subdir_lib ---

make[3]: stopped making "all" in /usr/src/lib

make[2]: stopped making "all" in /usr/src
         3.54 real         3.05 user         0.85 sys

make[1]: stopped making "buildworld" in /usr/src

make: stopped making "buildworld" in /usr/src
#


Anyone else seeing this ?


I thought that perhaps I went too far in /etc/src.conf  :

callisto# grep -v '^#' /etc/src.conf

WITH_CCACHE_BUILD=yes
CCACHE_DIR=/var/cache/ccache/

WITH_REPRODUCIBLE_BUILD=yes

WITHOUT_BLUETOOTH=yes
WITHOUT_WIRELESS_SUPPORT=yes
WITHOUT_WIRELESS=yes

WITHOUT_CXGBETOOL=yes
WITHOUT_DIALOG=yes
WITHOUT_DICT=yes
WITHOUT_DTRACE_TESTS=yes
WITHOUT_DTRACE=yes
WITHOUT_EE=yes
WITHOUT_EXAMPLES=yes
WITHOUT_FINGER=yes
WITHOUT_FLOPPY=yes
WITHOUT_FREEBSD_UPDATE=yes
WITHOUT_GAMES=yes
WITHOUT_GCOV=yes
WITHOUT_GNU_DIFF=yes
WITHOUT_GOOGLETEST=yes
WITHOUT_HTML=yes
WITHOUT_HYPERV=yes
WITHOUT_IPFILTER=yes
WITHOUT_IPFW=yes
WITHOUT_LIB32=yes
WITHOUT_LPR=yes
WITHOUT_PMC=yes
WITHOUT_PORTSNAP=yes
WITHOUT_PPP=yes
WITHOUT_PROFILE=yes
WITHOUT_QUOTAS=yes
WITHOUT_RBOOTD=yes
WITHOUT_ROUTED=yes
WITHOUT_SHAREDOCS=yes
WITHOUT_SVNLITE=yes
WITHOUT_TALK=yes
WITHOUT_TELNET=yes
WITHOUT_TESTS=yes
WITHOUT_TFTP=yes
callisto#
callisto# cat /etc/make.conf
#WITHOUT_CCACHE_BUILD=1
WITHOUT_MODULES=linux ath ath_dfs ath_hal ath_hal_ar5210 ath_hal_ar5211 
ath_hal_ar5212 ath_hal_ar5416 ath_hal_ar9300 ath_main ath_rate iavf isci qat
callisto#


Curious what is going on there.

-- 
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken