14.2-RELEASE buildworld failure

From: Scott Bennett <bennett_at_sdf.org>
Date: Fri, 24 Jan 2025 08:06:43 UTC
     I have been trying in vain to upgrade from

FreeBSD hellas 12.4-RELEASE-p2 FreeBSD 12.4-RELEASE-p2 #9 releng/12.4-n235816-149768b65d61: Sat Feb 18 00:13:00 CST 2023     bennett@hellas:/usr/obj/usr/src/amd64.amd64/sys/hellas  amd64

to 14.2-RELEASE for some time now, but when I run "make buildworld" it fails
during a linkedit step on complaints that it can't find a library that it wants.
Here is an example of how it ends.
     .
     .
     .
--- all_subdir_libexec ---
--- all_subdir_libexec/atf/atf-check/tests ---
===> libexec/atf/atf-check/tests (all)
--- atf-check_test ---
echo '#! /usr/libexec/atf-sh' > atf-check_test.tmp
cat /usr/src/contrib/atf/atf-sh/atf-check_test.sh >>atf-check_test.tmp
chmod +x atf-check_test.tmp
mv atf-check_test.tmp atf-check_test
--- Kyuafile ---
--- atf-check.full ---
/usr/local/libexec/ccache/world/c++ -target x86_64-unknown-freebsd14.2 --sysroot=/usr/obj/usr/src/amd64.amd64/tmp -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -O2 -pipe "-mtune=core2" -fno-common -march=core2 -DHAVE_CONFIG_H -I/usr/src/contrib/atf -DATF_SHELL='"/bin/sh"' -fPIE -g -gz=zlib -Wno-format-zero-length -nobuiltininc -idirafter /usr/lib/clang/13.0.0/include -fstack-protector-all -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wpointer-arith -Wno-uninitialized -Wdate-time -Wformat=2 -Wno-format-extra-args -Werror -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -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-format-nonliteral -Qunused-arguments -fPIE -std=c++11 -Wno-deprecated-declarations -Wno-c++11-extensions  -Wl,-zrelro -pie   -o atf-check.full  atf-check.o -lprivateatf-c++ -lprivateatf-c 
ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::find(char, unsigned long) const
>>> referenced by atf-check.cpp:345 (/usr/src/contrib/atf/atf-sh/atf-check.cpp:345)
>>>               atf-check.o:((anonymous namespace)::atf_check::process_option(int, char const*))
>>> referenced by atf-check.cpp:263 (/usr/src/contrib/atf/atf-sh/atf-check.cpp:263)
>>>               atf-check.o:((anonymous namespace)::atf_check::process_option(int, char const*))
>>> referenced by atf-check.cpp:313 (/usr/src/contrib/atf/atf-sh/atf-check.cpp:313)
>>>               atf-check.o:(parse_output_check_arg(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))

ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long, unsigned long, std::__1::allocator<char> const&)
>>> referenced by string:1576 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:1576)
>>>               atf-check.o:((anonymous namespace)::atf_check::process_option(int, char const*))
>>> referenced by string:1576 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:1576)
>>>               atf-check.o:((anonymous namespace)::atf_check::process_option(int, char const*))
>>> referenced by string:1576 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:1576)
>>>               atf-check.o:((anonymous namespace)::atf_check::process_option(int, char const*))
>>> referenced 5 more times

ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(unsigned long, unsigned long, char const*) const
>>> referenced by atf-check.cpp:264 (/usr/src/contrib/atf/atf-sh/atf-check.cpp:264)
>>>               atf-check.o:((anonymous namespace)::atf_check::process_option(int, char const*))
>>> referenced by atf-check.cpp:314 (/usr/src/contrib/atf/atf-sh/atf-check.cpp:314)
>>>               atf-check.o:(parse_output_check_arg(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))

ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)
>>> referenced by string:3978 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:3978)
>>>               atf-check.o:((anonymous namespace)::atf_check::process_option(int, char const*))
>>> referenced by string:1254 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:1254)
>>>               atf-check.o:((anonymous namespace)::atf_check::main())
>>> referenced by string:3978 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:3978)
>>>               atf-check.o:(run_output_checks(std::__1::vector<(anonymous namespace)::output_check, std::__1::allocator<(anonymous namespace)::output_check> > const&, atf::fs::path const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))
>>> referenced 2 more times

ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char)
>>> referenced by string:1258 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:1258)
>>>               atf-check.o:((anonymous namespace)::atf_check::main())
>>> referenced by atf-check.cpp:589 (/usr/src/contrib/atf/atf-sh/atf-check.cpp:589)
>>>               atf-check.o:(run_output_checks(std::__1::vector<(anonymous namespace)::output_check, std::__1::allocator<(anonymous namespace)::output_check> > const&, atf::fs::path const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))
>>> referenced by istream:1269 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/istream:1269)
>>>               atf-check.o:(std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline[abi:se180100]<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char))
ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::insert(unsigned long, char const*)
>>> referenced by string:3965 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:3965)
>>>               atf-check.o:(get_monotonic_useconds())
>>> referenced by string:3965 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:3965)
>>>               atf-check.o:(cat_file(atf::fs::path const&))
>>> referenced by string:3965 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:3965)
>>>               atf-check.o:(run_output_checks(std::__1::vector<(anonymous namespace)::output_check, std::__1::allocator<(anonymous namespace)::output_check> > const&, atf::fs::path const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))
>>> referenced 5 more times

ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::reserve(unsigned long)
>>> referenced by atf-check.cpp:557 (/usr/src/contrib/atf/atf-sh/atf-check.cpp:557)
>>>               atf-check.o:(run_output_checks(std::__1::vector<(anonymous namespace)::output_check, std::__1::allocator<(anonymous namespace)::output_check> > const&, atf::fs::path const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&))
ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
>>> referenced by sstream:420 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/sstream:420)
>>>               atf-check.o:(std::__1::basic_istringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_istringstream[abi:se180100](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int))

ld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)
>>> referenced by string:1196 (/usr/obj/usr/src/amd64.amd64/tmp/usr/include/c++/v1/string:1196)
>>>               atf-check.o:(std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init_buf_ptrs[abi:se180100]())
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::insert(unsigned long, char const*) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::find(char, unsigned long) const [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long, unsigned long, std::__1::allocator<char> const&) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string() [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::erase(unsigned long, unsigned long) [--no-allow-shlib-undefined]
ld: error: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libprivateatf-c++.so: undefined reference to std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char) [--no-allow-shlib-undefined]
--- all_subdir_cddl ---
make[5]: /usr/obj/usr/src/amd64.amd64/cddl/lib/libzpool/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/amd64.amd64/cddl/lib/libicp/libicp_pie.a
make[5]: /usr/obj/usr/src/amd64.amd64/cddl/lib/libzpool/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/amd64.amd64/cddl/lib/libnvpair/libnvpair_pie.a
--- libzpool.so.2.full ---
building shared library libzpool.so.2
--- all_subdir_libexec ---
c++: error: linker command failed with exit code 1 (use -v to see invocation)
*** [atf-check.full] Error code 1

make[5]: stopped in /usr/src/libexec/atf/atf-check
--- all_subdir_cddl ---
--- all_subdir_lib ---
ctfconvert -L VERSION -g fini_test.pico
--- all_subdir_bin ---
ctfconvert -L VERSION -g chflags.o
        8.28 real         0.98 user         0.97 sys
5770.159u 5426.451s 5:32:51.54 56.0%	708+388k 8457884+476362io 125159pf+25w
hellas#	

     My /etc/make.conf contains the following.

ALLOW_UNSUPPORTED_SYSTEM=YES
# added by SJB  11 Jan. 2007
CPUTYPE?=core2
#CPUTYPE?=penryn # gcc9 doesn't recognize this, so use core2 -mssse3 -msse4.1
# added by SJB  8 Nov. 2011
CFLAGS+="-mtune=core2"
#CFLAGS+="-mtune=penryn" # see note for CPUTYPE above
# added by SJB 14 Apr. 2013
# updated by SJB  8 Dec. 2014
SVNFLAGS?="-r RELENG_11"
# build ports with clang stack protector
WITH_SSP=yes
SSP_CFLAGS=-fstack-protector-all
# added for ports system use to avoid dialogs by SJB  4 May 2007
BATCH=YES
# added for new pkg system  --SJB  10 December 2014
WITH_PKGNG=yes
# build ports using ccache  --SJB  19 January 2015
WITH_CCACHE_BUILD=yes
## buildworld and buildkernel using ccache  --SJB  26 January 2015
.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
.if !defined(NOCCACHE) && exists(/usr/local/libexec/ccache/world/cc)
CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
CCACHE_COMPILERCHECK=content
CCACHE_DIR=/buildwork/ccache.freebsd
.endif
.else
CFLAGS+="-mssse3"
CFLAGS+="-msse4.1"
.endif
# added to deal with ccache bug 8460  --SJB  2 November 2013
# bug has been reported fixed, so try without this workaround
#CCACHE_CPP2=1
# added as a better specification of -j by SJB 17 November 2009
MAKE_JOBS_NUMBER=4
## added to compile without profiling  --SJB  3 June 2007
#NO_PROFILE=true
# put build tree where there is plenty of temporary workspace
WRKDIRPREFIX=/buildwork/ports
#WRKDIRPREFIX=/work/portswork
# Use OpenSSL from ports tree, not from base system
#WITH_OPENSSL_PORT=YES
#DEFAULT_VERSIONS+=  ssl=libressl
DEFAULT_VERSIONS+=  ssl=openssl
DEFAULT_VERSIONS+=bdb=5+
DEFAULT_VERSIONS+= linux=c7_64
DEFAULT_VERSIONS+=  perl5=5.32
DEFAULT_VERSIONS+= python=3.9 python2=2.7 python3=3.9
# Allow updating of Mesa3D from 7.4.4 to 7.6.1 and libdrm from 2.4.12 to 2.4.17
WITHOUT_NOUVEAU=yes
# Use ATLAS libraries in ports that use BLAS libraries
OPTIONS_SET=ATLAS
# Tell gnustep-related ports to use base system's compiler
GNUSTEP_WITH_BASE_GCC=yes
GNUSTEP_WITHOUT_LIBOBJC=yes
# Pango
#..if $(.CURDIR:M*/x11-toolkits/linux-pango)
#DISABLE_VULNERABILITIES=yes
#..endif
QT4_OPTIONS= CUPS NAS QGTKSTYLE
# Begin portconf settings
# Do not touch these lines
.if !empty(.CURDIR:M/usr/ports*) && exists(/usr/local/libexec/portconf)
_PORTCONF!=/usr/local/libexec/portconf
.if ${_PORTCONF} != "|"
.for i in ${_PORTCONF:S/^|//:S/|/ /g}
${i:C/^([^=]*)=.*/\1/}=${i:C/^[^=]*=//:S/%/ /g}
.endfor
.endif
.endif
# End portconf settings

     My /etc/src.conf is as follows.  Note that PORTS_MODULES has been
commented out for years.

# The PORTS_MODULES must be built and installed manually because the
# mechanism of /etc/src.conf fails when installing into a ZFS clone
# of the root file system mounted onto /mnt.  Leave the following
# line commented, and remember to build them after installing world
# and rebooting into the newly installed system.
#PORTS_MODULES=emulators/virtualbox-ose-kmod graphics/drm-fbsd11.2-kmod sysutils/graid5 sysutils/pefs-kmod
WITH_CCACHE_BUILD=yes
WITH_CLANG_EXTRAS=yes
WITH_CLANG_FULL=yes
WITH_CTF=yes
WITH_DEBUG_FILES=yes
WITH_EXTRA_TCP_STACKS=yes
WITH_LIBCPLUSPLUS=yes
WITH_LINT=yes
WITH_LLD_BOOTSTRAP=yes
WITH_LLDB=yes
WITH_LOADER_FIREWIRE=yes
WITH_LOADER_GELI=yes
WITH_ZONEINFO_LEAPSECONDS_SUPPORT=yes
#WITHOUT_CLANG_BOOTSTRAP=yes
WITHOUT_CROSS_COMPILER=yes
WITHOUT_REPRODUCIBLE_BUILD=YES

     If someone more knowledgeable about the buildworld process can tell me
what I need to do to get buildworld to run to completion so that I can upgrade,
I could really use the help.  I have some installed ports and packages that
are now often failing, but I can't upgrade them on this obsolete release.
     Thanks in advance for any help.


                                  Scott Bennett, Comm. ASMELG, CFIAG
**********************************************************************
* Internet:   bennett at sdf.org   *xor*   bennett at freeshell.org  *
*--------------------------------------------------------------------*
* "A well regulated and disciplined militia, is at all times a good  *
* objection to the introduction of that bane of all free governments *
* -- a standing army."                                               *
*    -- Gov. John Hancock, New York Journal, 28 January 1790         *
**********************************************************************