Painted myself into a corner....

Fred fred at SUNBOT.Homedns.ORG
Mon Jul 31 18:09:05 UTC 2017


I have been updating my system from source since time immemorial. A
while back I updated to FreeBSD 10.3 and then FreeBSD 10-stable.

In the process I decided that I didn't need 23 different compilers
(ok, that's a bit of an exaggeration). I need a GCC compiler for a
particular application I help maintain (CMU Lisp). And I figured I
only needed one Clang compiler. So I installed Clang 4 and set
NO_CLANG in my src.conf.

Here's my src.conf:

----------------------------------------

CC=/usr/local/bin/clang40
CXX=/usr/local/bin/clang++40
CPP=/usr/local/bin/clang-cpp40


WITHOUT_ACCT=yes
WITHOUT_ATM=yes
WITHOUT_BLUETOOTH=yes
WITHOUT_CAPSICUM=yes
WITHOUT_CLANG=yes
WITHOUT_FLOPPY=yes
WITHOUT_GPIB=yes
WITHOUT_GPIO=yes
# WITHOUT_HYPERV=yes
WITHOUT_IPX=yes
WITHOUT_KERBEROS=yes
WITHOUT_NDIS=yes
WITHOUT_PC_SYSINSTALL=yes
WITHOUT_QUOTAS=yes
WITHOUT_RADIUS_SUPPORT=yes
WITHOUT_RESCUE=yes
WITHOUT_SHAREDOCS=yes
WITHOUT_SENDMAIL=yes
WITHOUT_UNBOUND=yes
WITHOUT_WIRELESS=yes
WITHOUT_ZFS=yes

NO_PROFILE=true

----------------------------------------

I happily built the system and a custom kernel and everything was fine
until I went for a couple months without building.

Suddenly /usr/src won't build. It is either not finding various
include files or finding outdated versions. It looks like it's looking
in /usr/include instead of the /usr/src version of the includes.

Thinking it was just a minor problem I tried copying a few include
files into /usr/include/sys from /usr/src/sys/sys but the problem
seems pervasive. There are many include files that aren't found or
that have changed from /usr/include.

I speculated that perhaps rebuilding the Clang toolchain in /usr/src
might fix this, but I can't; errors occur too early in the process.

Any suggestions for how I can get back to a buildable state? I've
tried re-fetching /usr/src. I also tried going to the releng-10.3
version. But nothing works.


Here's the latest error I get, just to give an idea. These identifiers
are declared in include files in /usr/src/sys/mman.h but not in
/usr/include/sys/mman.h.


--- ioctl.o ---
/usr/local/bin/clang40 -O2 -pipe   -I/usr/src/usr.bin/kdump/../ktrace -I/usr/src/usr.bin/kdump -I/usr/src/usr.bin/kdump/../.. -I. -DPF -std=gnu99 -Qunused-arguments  -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wmissing-variable-declarations -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable  -c ioctl.c -o ioctl.o
--- kdump_subr.o ---
kdump_subr.c:593:7: error: use of undeclared identifier 'INHERIT_ZERO'
        case INHERIT_ZERO:
             ^
kdump_subr.c:2348:24: error: use of undeclared identifier 'MAP_GUARD'
        if (!((flags > 0) ^ ((MAP_GUARD) > 0)))
                              ^
kdump_subr.c:2349:22: error: use of undeclared identifier 'MAP_GUARD'
                if_print_or(flags, MAP_GUARD, or);
                                   ^
kdump_subr.c:2349:22: error: use of undeclared identifier 'MAP_GUARD'
4 errors generated.
*** [kdump_subr.o] Error code 1

make[4]: stopped in /usr/src/usr.bin/kdump
--- ioctl.o ---
In file included from ioctl.c:51:
/usr/include/dev/lmc/if_lmc.h:939:13: warning: no previous extern declaration for non-static variable 'ssi_cables' [-Wmissing-variable-declarations]
const char *ssi_cables[] =
            ^
1 warning generated.
1 error

make[4]: stopped in /usr/src/usr.bin/kdump
*** [all_subdir_kdump] Error code 2

make[3]: stopped in /usr/src/usr.bin
1 error

make[3]: stopped in /usr/src/usr.bin
*** [usr.bin.all__D] Error code 2

make[2]: stopped in /usr/src
--- usr.sbin.all__D ---
A failure has been detected in another branch of the parallel make

make[4]: stopped in /usr/src/usr.sbin/faithd
*** [all_subdir_faithd] Error code 2

make[3]: stopped in /usr/src/usr.sbin
1 error

make[3]: stopped in /usr/src/usr.sbin
*** [usr.sbin.all__D] Error code 2

make[2]: stopped in /usr/src
2 errors

make[2]: stopped in /usr/src
*** [everything] Error code 2

make[1]: stopped in /usr/src
1 error

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

make: stopped in /usr/src
1 error

make: stopped in /usr/src
root at sunbot:/usr/src # 

-- 
Fred Gilham                            fred at sunbot.homedns.org
   just make me lighter
   make me lighter still
     'til the yellow of the sun takes me
   [oh what Lazarus saw! I cannnot bear this anymore!]
                                              -- Linshuang Lu


More information about the freebsd-questions mailing list