Re: Current build failures on 10.1 STABLE

Mike Pumford <[email protected]>
Newsgroups gmane.os.netbsd.current
Message-ID <[email protected]>

On 10/11/2025 17:39, Mike Pumford wrote:
> Just noticed my periodic weekly current builds are failing.
> 
> The build host is a 10.1 STABLE up to date as of just over a week ago
> 
> Getting lots of link failures because of a missing dgettext() function
> 
> e.g:
> 
> ld: /work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/ 
> obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/ 
> libcpp.a(errors.o): in function `cpp_diagnostic_at(cpp_reader*, 
> cpp_diagnostic_level, cpp_warning_reason, rich_location*, char const*, 
> __va_list_tag (*) [1])':
> errors.cc:(.text+0xcd): undefined reference to `dgettext'
> 

Still seeing this every time I attempt to do a build. Given that other 
people are not complaining I'm assuming its something in my environment 
but I'm struggling to figure out what.

More detailed from a build today on 11.0-BETA.
17:22:07 ld: 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a(errors.o): 
in function `cpp_diagnostic_at(cpp_reader*, cpp_diagnostic_level, 
cpp_warning_reason, rich_location*, char const*, __va_list_tag (*) [1])':
17:22:07 errors.cc:(.text+0xcd): undefined reference to `dgettext'
17:22:07 ld: 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a(errors.o): 
in function `cpp_diagnostic_with_line(cpp_reader*, cpp_diagnostic_level, 
cpp_warning_reason, unsigned int, unsigned int, char const*, 
__va_list_tag (*) [1])':
17:22:07 errors.cc:(.text+0x714): undefined reference to `dgettext'
17:22:07 ld: 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a(errors.o): 
in function `cpp_errno(cpp_reader*, cpp_diagnostic_level, char const*)':
17:22:07 errors.cc:(.text+0xcc2): undefined reference to `dgettext'
17:22:07 ld: 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a(errors.o): 
in function `cpp_errno_filename(cpp_reader*, cpp_diagnostic_level, char 
const*, unsigned int)':
17:22:07 errors.cc:(.text+0xd1b): undefined reference to `dgettext'
17:22:07 ld: 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a(files.o): 
in function `_cpp_report_missing_guards':
17:22:07 files.cc:(.text+0x2b44): undefined reference to `dgettext'
17:22:07 ld: 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a(init.o): 
in function `init_library()':
17:22:07 init.cc:(.text+0x2a5): undefined reference to `bindtextdomain'
17:22:07 ld: 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a(lex.o): 
in function 
`unpaired_bidi_rich_location::custom_range_label::get_text(unsigned int) 
const':
17:22:07 
lex.cc:(.text._ZNK27unpaired_bidi_rich_location18custom_range_label8get_textEj[_ZNK27unpaired_bidi_rich_location18custom_range_label8get_textEj]+0x5c): 
undefined reference to `dgettext'
17:22:07 --- genmatch ---
17:22:07
17:22:07 *** Failed target: genmatch
17:22:07 *** In directory: 
/work/netbsd/current/src/external/gpl3/gcc/usr.bin/backend
17:22:07 *** Failed commands:
17:22:07 	${_MKTARGET_LINK}
17:22:07 	=> @echo '   ' "   link " backend/genmatch
17:22:07 	${HOST_LINK.cc} -o ${.TARGET} ${.ALLSRC} ${NBCOMPATLIB} 
${HOSTLIBCPP} ${HOSTLIBIBERTY}
17:22:07 	=> c++ -O -std=gnu++11 
-I/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/backend 
  -I/work/netbsd/current/src/external/gpl3/gcc/usr.bin/backend/.. 
-I/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libiberty/libiberty 
-I. 
-I/work/netbsd/current/src/external/gpl3/gcc/usr.bin/backend/../gcc/arch/x86_64 
-DIN_GCC -DHAVE_CONFIG_H 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc/. 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc/../include 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc/../libcpp/include 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc/../libcody 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc/../libdecnumber 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc/../libdecnumber/dpd 
-I/work/netbsd/current/src/external/gpl3/gcc/dist/gcc/../libbacktrace 
-DGENERATOR_FILE  -o genmatch genmatch.lo build-errors.lo build-vec.lo 
build-hash-table.lo build-sort.lo 
-L/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/tools/lib 
-lnbcompat 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libcpp/libcpp/libcpp.a 
/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build/obj.amd64/external/gpl3/gcc/usr.bin/host-libiberty/libiberty/libiberty.a

Things I've tried to eliminate the issue:

1. Switch the build system to 11.0-BETA
2. Complete fresh checkout from CVS

I am doing the build under jenkins but that creates no problems for my 
netbsd-10 and netbsd-11 release branch builds on the same machine using 
the same wrapper script around build.sh


In case it is relevent the build wrapper script I use (which has been 
working since NetBSD 6.0) is as follows:
#!/bin/sh
#
# build wrapper to wrap up building of NetBSD
#
# Usage buildwrap.sh <version> <arch> <targets>
PATH=/bin:/usr/bin:/sbin:/usr/sbin
NOPT=-N1
while getopts uxj:w:N: opt ; do
     case $opt in
         x) DOX=1;;
         j) PARBUILD="-j $OPTARG";;
         u) UPDATE=-u;;
         w) WORKSPACE="$OPTARG";;
         N) NOPT="-N$OPTARG";;
         \?) exit 1;;
     esac
done

shift `expr $OPTIND - 1`

VERSION=$1
shift
ARCH=$1


shift
if [ ! -d /work/netbsd/$VERSION/src ] ; then
     echo invalid version $VERSION
     exit 1
fi

if [ ! -d /work/netbsd/$VERSION/src/sys/arch/$ARCH ] ; then
     echo invalid arch $ARCH
     exit 1
fi

if [ "x$DOX" = "x1" ] ; then
     XARGS="-x -X /work/netbsd/$VERSION/xsrc"
fi


if [ -n "$WORKSPACE" ] ; then
     TOOLS=$WORKSPACE/tools
     DEST=$WORKSPACE/build.$ARCH
     OBJ=$WORKSPACE/obj.$ARCH
     RELEASE=$WORKSPACE/release
else
     TOOLS=/work/netbsd/tools/$VERSION
     DEST=/work/netbsd/$VERSION/build.$ARCH
     OBJ=/work/netbsd/$VERSION/obj.$ARCH
     RELEASE=/work/netbsd/$VERSION/release
fi
cd /work/netbsd/$VERSION/src
# Put temp files on ramdisk
export TMPDIR=/tmp
#echo ./build.sh -m $ARCH -T /work/netbsd/tools/$VERSION -D 
/work/netbsd/$VERSION/build.$ARCH -O /work/netbsd/$VERSION/obj.$ARCH 
$UPDATE -U $XARGS $PARBUILD -N1 $*
exec ./build.sh -m $ARCH -T $TOOLS -D $DEST -O $OBJ -R $RELEASE $UPDATE 
-U $XARGS $PARBUILD $NOPT $*

Jenkins will always set $WORKSPACE to a unique directory for each build.

I'm invoking this script in my jenkins build as:

~/bin/buildos.sh -w $WORKSPACE -x -j8 current amd64 tools release 
install-image iso-image


The environment set by jenkins is as follows:

BUILD_DISPLAY_NAME=#74
HUDSON_COOKIE=db70d710-8a78-4b77-b0d5-cf198d6a05de
BUILD_TAG=jenkins-NetBSD-current-amd64-build-74
PWD=/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build
JENKINS_URL=http://jenkins/jenkins/
WORKSPACE=/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build
JENKINS_HOME=/work/netbsd/.jenkins
HOME=/work/netbsd
BUILD_URL=http://jenkins/jenkins/job/NetBSD-current-amd64-build/74/
RUN_ARTIFACTS_DISPLAY_URL=http://jenkins/jenkins/job/NetBSD-current-amd64-build/74/display/redirect?page=artifacts
LC_ALL=en_GB.UTF-8
PATH=/usr/pkg/java/openjdk21/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin
JOB_NAME=NetBSD-current-amd64-build
JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
OLDPWD=/work/netbsd
USER=builder
HUDSON_URL=http://jenkins/jenkins/
CI=true
EXECUTOR_NUMBER=0
RUN_DISPLAY_URL=http://jenkins/jenkins/job/NetBSD-current-amd64-build/74/display/redirect
JOB_BASE_NAME=NetBSD-current-amd64-build
JAVA_HOME=/usr/pkg/java/openjdk21
JENKINS_SERVER_COOKIE=f1b2753f9457819a
LOGNAME=builder
SU_FROM=root
SHELL=/usr/pkg/bin/bash
JOB_URL=http://jenkins/jenkins/job/NetBSD-current-amd64-build/
WORKSPACE_TMP=/work/netbsd/.jenkins/workspace/NetBSD-current-amd64-build@tmp
HUDSON_HOME=/work/netbsd/.jenkins
SHLVL=0
RUN_CHANGES_DISPLAY_URL=http://jenkins/jenkins/job/NetBSD-current-amd64-build/74/display/redirect?page=changes
JOB_DISPLAY_URL=http://jenkins/jenkins/job/NetBSD-current-amd64-build/display/redirect
HUDSON_SERVER_COOKIE=f1b2753f9457819a
JVM_HOME=/usr/pkg/java/openjdk21
RUN_TESTS_DISPLAY_URL=http://jenkins/jenkins/job/NetBSD-current-amd64-build/74/display/redirect?page=tests
BUILD_NUMBER=74
BUILD_ID=74
NODE_NAME=built-in
NODE_LABELS=built-in

Any suggestions on what could be triggering this?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.