На досуге пробую собрать FreeBSD 11-STABLE с помощью установленного из портов GCC 6.3 и 7-devel.
Конфигурация сорцов (/etc/src.conf):
Код: Выделить всё
WITHOUT_AMD=true
WITHOUT_ASSERT_DEBUG=true
WITHOUT_ATM=true
WITHOUT_BHYVE=true
WITHOUT_BLUETOOTH=true
WITH_BSD_GREP=true
WITHOUT_BSNMP=true
WITHOUT_CLANG=true
WITHOUT_DEBUG=true
WITHOUT_DMAGENT=true
WITHOUT_EXAMPLES=true
WITHOUT_FLOPPY=true
WITHOUT_FORMAT_EXTENSIONS=true
WITHOUT_GAMES=true
WITHOUT_GDB=true
WITHOUT_HYPERV=true
WITHOUT_HTML=true
WITHOUT_IPFILTER=true
WITHOUT_IPFW=true
WITHOUT_IPX=true
WITHOUT_IPX_SUPPORT=true
WITHOUT_KDUMP=true
WITHOUT_LDNS=true
WITHOUT_LIB32=true
WITHOUT_LLDB=true
WITHOUT_LOCATE=true
WITHOUT_LPR=true
WITHOUT_MAIL=true
WITHOUT_MAILWRAPPER=true
WITHOUT_NDIS=true
WITHOUT_NETGRAPH=true
WITHOUT_NETGRAPH_SUPPORT=true
WITHOUT_PPP=true
WITHOUT_PROFILE=true
WITHOUT_SENDMAIL=true
WITH_SVN=true
WITHOUT_TALK=true
WITHOUT_TELNET=true
WITHOUT_TESTS=true
WITHOUT_UNBOUND=true
WITHOUT_WIRELESS=true
Код: Выделить всё
KERNCONF=COMP
MAKE_JOBS_NUMBER=5
WITHOUT_DEBUG=true
# This setting to build world without -Werror:
NO_WERROR=
# This setting to build kernel without -Werror:
WERROR=
CC=/usr/local/bin/gcc7
CXX=/usr/local/bin/g++7
CPP=/usr/local/bin/cpp7
DEFAULT_VERSIONS=perl5=5.24 ruby=2.4 tcltk=8.6
Код: Выделить всё
# $FreeBSD: stable/11/etc/libmap.conf 253853 2013-08-01 05:50:42Z jlh $
includedir /usr/local/etc/libmap.d
libgcc_s.so.1 gcc7/libgcc_s.so.1
libgomp.so.1 gcc7/libgomp.so.1
libobjc.so.3 gcc7/libobjc.so.4
libssp.so.0 gcc7/libssp.so.0
libstdc++.so.6 gcc7/libstdc++.so.6
Но make buildworld пишет ошибки, которые при использовании системного LLVM/Clang не выявляются. Одни я исправил. К другим не пойму, как подступиться.
Вот эти:
Код: Выделить всё
In file included from /usr/src/lib/libc/iconv/__iconv.c:31:0:
/usr/src/lib/libc/iconv/iconv-internal.h:35:48: error: unknown type name '__iconv_bool'; did you mean 'iconv_t'?
int __bsd___iconv_get_list(char ***, size_t *, __iconv_bool);
^~~~~~~~~~~~
iconv_t
/usr/src/lib/libc/iconv/__iconv.c:34:1: warning: no previous prototype for '__iconv' [-Wmissing-prototypes]
__iconv(iconv_t a, char **b, size_t *c, char **d,
^~~~~~~
*** Error code 1
Stop.
make[1]: stopped in /usr/src/lib/libc_nonshared
*** Error code 1
Код: Выделить всё
/usr/local/bin/gcc7 -O2 -pipe -DSHELL -I. -I/usr/src/bin/sh -DNDEBUG -g -MD -MF.depend.expand.o -MTexpand.o -std=gnu99 -fstack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-error=unused-function -Wno-error=enum-compare -Wno-error=logical-not-parentheses -Wno-error=bool-compare -Wno-error=uninitialized -Wno-error=array-bounds -Wno-error=clobbered -Wno-error=cast-align -Wno-error=extra -Wno-error=attributes -Wno-error=inline -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=strict-aliasing -Wno-error=address -c /usr/src/bin/sh/expand.c -o expand.o
/usr/local/bin/gcc7 -O2 -pipe -DSHELL -I. -I/usr/src/bin/sh -DNDEBUG -g -MD -MF.depend.histedit.o -MThistedit.o -std=gnu99 -fstack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -Wno-error=unused-function -Wno-error=enum-compare -Wno-error=logical-not-parentheses -Wno-error=bool-compare -Wno-error=uninitialized -Wno-error=array-bounds -Wno-error=clobbered -Wno-error=cast-align -Wno-error=extra -Wno-error=attributes -Wno-error=inline -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=strict-aliasing -Wno-error=address -c /usr/src/bin/sh/histedit.c -o histedit.o
/usr/src/bin/sh/histedit.c: In function 'histedit':
/usr/src/bin/sh/histedit.c:127:9: error: '_el_fn_sh_complete' undeclared (first use in this function); did you mean '_el_fn_complete'?
_el_fn_sh_complete);
^~~~~~~~~~~~~~~~~~
_el_fn_complete
/usr/src/bin/sh/histedit.c:127:9: note: each undeclared identifier is reported only once for each function it appears in
*** Error code 1