build with WITHOUT_GPL_DTC=y broken?

From: Matteo Riondato <matteo_at_FreeBSD.org>
Date: Mon, 13 Feb 2017 10:53:29 -0500
When I build world with WITHOUT_GPL_DTC=y in src.conf (complete file after the error) I get the following error in stage 1.2: bootstrap tools. This is not a recent breakage, I’ve experienced it for a while.

===> usr.bin/dtc (obj,all,install)
/usr/obj/usr/src/tmp/usr/src/usr.bin/dtc created for /usr/src/usr.bin/dtc
echo dtc: /usr/lib/libc.a /usr/obj/usr/src/tmp/legacy/usr/lib/libegacy.a >> .depend
echo dtc: /usr/lib/libc++.a >> .depend
c++  -O2 -pipe -DNDEBUG -MD -MF.depend.dtc.o -MTdtc.o -Qunused-arguments -I/usr/obj/usr/src/tmp/legacy/usr/include -std=c++11 -fno-rtti -fno-exceptions  -Wno-c++11-extensions  -c /usr/src/usr.bin/dtc/dtc.cc -o dtc.o
c++  -O2 -pipe -DNDEBUG -MD -MF.depend.input_buffer.o -MTinput_buffer.o -Qunused-arguments -I/usr/obj/usr/src/tmp/legacy/usr/include -std=c++11 -fno-rtti -fno-exceptions  -Wno-c++11-extensions  -c /usr/src/usr.bin/dtc/input_buffer.cc -o input_buffer.o
/usr/src/usr.bin/dtc/input_buffer.cc:547:53: error: type 'dtc::(anonymous namespace)::expression' is not a direct or virtual base of 'binary_operator<Precedence, Op>'
        binary_operator(source_location l, const char *) : expression(l) {}
                                                           ^~~~~~~~~~
/usr/src/usr.bin/dtc/input_buffer.cc:653:8: error: using declaration refers into 'binary_operator<5, modulus<unsigned long long> >::', which is not a base class of 'divmod<std::__1::modulus<unsigned long long> >'
        using binary_operator<5, T>::binary_operator;
              ^~~~~~~~~~~~~~~~~~~~~~~
/usr/src/usr.bin/dtc/input_buffer.cc:687:15: note: in instantiation of template class 'dtc::(anonymous namespace)::divmod<std::__1::modulus<unsigned long long> >' requested here
                        expr = new divmod<std::modulus<valty>>(l, "/");
                                   ^
/usr/src/usr.bin/dtc/input_buffer.cc:654:8: error: using declaration refers into 'binary_operator_base::', which is not a base class of 'divmod<std::__1::modulus<unsigned long long> >'
        using binary_operator_base::result;
              ^~~~~~~~~~~~~~~~~~~~~~
/usr/src/usr.bin/dtc/input_buffer.cc:655:22: error: only virtual member functions can be marked 'override'
        result operator()() override
                            ^~~~~~~~
/usr/src/usr.bin/dtc/input_buffer.cc:653:8: error: using declaration refers into 'binary_operator<5, divides<unsigned long long> >::', which is not a base class of 'divmod<std::__1::divides<unsigned long long> >'
        using binary_operator<5, T>::binary_operator;
              ^~~~~~~~~~~~~~~~~~~~~~~
/usr/src/usr.bin/dtc/input_buffer.cc:693:15: note: in instantiation of template class 'dtc::(anonymous namespace)::divmod<std::__1::divides<unsigned long long> >' requested here
                        expr = new divmod<std::divides<valty>>(l, "/");
                                   ^
/usr/src/usr.bin/dtc/input_buffer.cc:654:8: error: using declaration refers into 'binary_operator_base::', which is not a base class of 'divmod<std::__1::divides<unsigned long long> >'
        using binary_operator_base::result;
              ^~~~~~~~~~~~~~~~~~~~~~
/usr/src/usr.bin/dtc/input_buffer.cc:655:22: error: only virtual member functions can be marked 'override'
        result operator()() override
                            ^~~~~~~~
/usr/src/usr.bin/dtc/input_buffer.cc:1201:78: error: use of undeclared identifier 'errno'
                        fprintf(stderr, "Unable to open file '%s'.  %s\n", path.c_str(), strerror(errno));
                                                                                                  ^
8 errors generated.
*** Error code 1

Stop.
make[3]: stopped in /usr/src/usr.bin/dtc
*** Error code 1

Stop.
make[2]: stopped in /usr/src
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src



### /etc/src.conf

WITH_BSD_GREP=y
WITHOUT_AMD=y
WITHOUT_APM=y
WITHOUT_ASSERT_DEBUG=y
WITHOUT_ATM=y
WITHOUT_AUDIT=y
WITHOUT_AUTOFS=y
WITHOUT_BHYVE=y
WITHOUT_BLACKLIST=y
WITHOUT_BLUETOOTH=y
WITHOUT_BOOTPARAMD=y
WITHOUT_BOOTPD=y
WITHOUT_BSNMP=y
WITHOUT_CAPSICUM=y
WITHOUT_CASPER=y
WITHOUT_CDDL=y
WITHOUT_CUSE=y
WITHOUT_DEBUG_FILES=y
WITHOUT_EE=y
WITHOUT_EXAMPLES=y
WITHOUT_FLOPPY=y
WITHOUT_FREEBSD_UPDATE=y
WITHOUT_GAMES=y
WITHOUT_GPL_DTC=y
WITHOUT_CTM=y
WITHOUT_HESIOD=y
WITHOUT_HAST=y
WITHOUT_HTML=y
WITHOUT_HYPERV=y
WITHOUT_IPFILTER=y
WITHOUT_IPFW=y
WITHOUT_ISCSI=y
WITHOUT_KERBEROS=y
WITHOUT_LIB32=y
WITHOUT_NDIS=y
WITHOUT_NIS=y
WITHOUT_PC_SYSINSTALL=y
WITHOUT_PPP=y
WITHOUT_PROFILE=y
WITHOUT_QUOTAS=y
WITHOUT_RBOOTD=y
WITHOUT_RCMDS=y
WITHOUT_ROUTED=y
WITHOUT_SHARED_DOCS=y
WITH_SORT_THREADS=y
WITHOUT_SVNLITE=y
WITHOUT_SYSINSTALL=y
WITHOUT_SYSCONS=y
WITHOUT_TALK=y
WITHOUT_TCP_WRAPPERS=y
WITHOUT_TELNET=y
WITHOUT_TESTS=y
WITHOUT_TFTP=y
WITHOUT_TIMED=y
WITHOUT_WIRELESS=y
WITHOUT_WPA_SUPPLICANT_EAPOL=y
WITHOUT_ZFS=y

No WITH_META_MODE in /etc/src-env.conf

Matteo


Received on Mon Feb 13 2017 - 14:53:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:10 UTC