Brad Smith:
> Please put this diff to switch to GCC 6 through a bulk build.
(Full diff reproduced at the end of this message.)
I can report these results after running a test build on amd64:
* I don't know if this is expected, but something still pulls in
gcc/4.9.
* lang/gprolog hung.
gplc -c --fast-math fd2c.pl
KILLED: build stuck at 47% frozen for 60mn
* Some ports depending on devel/riscv-elf/gcc can't be built because
it conflicts with gcc/6,-libs:
/usr/local/lib/libcc1.la (gcc-libs-6.4.0p2 and riscv-elf-gcc-8.1.0p0)
/usr/local/lib/libcc1.so.0.0 (gcc-libs-6.4.0p2 and riscv-elf-gcc-8.1.0p0
* Some ports depending on devel/avr/gcc can't be built because it
conflicts with gcc/6,-libs:
/usr/local/lib/libcc1.la (gcc-libs-6.4.0p2 and avr-gcc-5.4.0p1)
/usr/local/lib/libcc1.so.0.0 (gcc-libs-6.4.0p2 and avr-gcc-5.4.0p1)
(Obviously this implies that riscv-elf/gcc and avr/gcc already
conflict with each other. A known problem.)
That's it on amd64.
The much bigger question is how gcc6 will fare on the non-clang
archs that would use if for all C++ ports. In principle I agree
that gcc4.9 is too old and a new compiler will be required for newer
C++ code. In practice, I don't know who can take charge of this
change.
Here's the diff I tested:
> Index: lang/gcc/Makefile
> ===================================================================
> RCS file: /home/cvs/ports/lang/gcc/Makefile,v
> retrieving revision 1.15
> diff -u -p -u -p -r1.15 Makefile
> --- lang/gcc/Makefile 19 Oct 2018 09:19:40 -0000 1.15
> +++ lang/gcc/Makefile 19 Oct 2018 12:08:49 -0000
> @@ -1,6 +1,6 @@
> # $OpenBSD: Makefile,v 1.15 2018/10/19 09:19:40 sthen Exp $
>
> SUBDIR =
> - SUBDIR += 4.9
> + SUBDIR += 6
>
> .include <bsd.port.subdir.mk>
> Index: lang/gcc/6/Makefile
> ===================================================================
> RCS file: /home/cvs/ports/lang/gcc/6/Makefile,v
> retrieving revision 1.12
> diff -u -p -u -p -r1.12 Makefile
> --- lang/gcc/6/Makefile 5 Nov 2018 11:52:55 -0000 1.12
> +++ lang/gcc/6/Makefile 5 Nov 2018 19:41:58 -0000
> @@ -57,7 +57,8 @@ SHARED_LIBS = estdc++ 18.0 \
> PSEUDO_FLAVORS = no_java no_ada full
> FLAVOR ?=
>
> -ONLY_FOR_ARCHS-ada = amd64 hppa i386 mips64 powerpc sparc64
> +#ONLY_FOR_ARCHS-ada = amd64 hppa i386 mips64 powerpc sparc64
> +ONLY_FOR_ARCHS-ada =
> ONLY_FOR_ARCHS-java = amd64 i386 sparc64
>
> MULTI_PACKAGES = -main -libs -f95 -objc -c++ -java -ada
> Index: infrastructure/mk/fortran.port.mk
> ===================================================================
> RCS file: /home/cvs/ports/infrastructure/mk/fortran.port.mk,v
> retrieving revision 1.14
> diff -u -p -u -p -r1.14 fortran.port.mk
> --- infrastructure/mk/fortran.port.mk 2 Sep 2016 13:02:24 -0000 1.14
> +++ infrastructure/mk/fortran.port.mk 17 Oct 2018 17:06:32 -0000
> @@ -14,9 +14,9 @@ MODFORTRAN_WANTLIB += g2c
> MODULES += gcc4
> MODGCC4_ARCHS ?= *
> MODGCC4_LANGS += fortran
> -MODFORTRAN_BUILD_DEPENDS += lang/gcc/4.9,-f95>=4.9.4p0,<4.10
> +MODFORTRAN_BUILD_DEPENDS += lang/gcc/6,-f95>=6,<7
> MODFORTRAN_LIB_DEPENDS += ${MODGCC4_CPPLIBDEP}
> -MODFORTRAN_WANTLIB += gfortran>=3
> +MODFORTRAN_WANTLIB += gfortran>=7
> . if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
> MODFORTRAN_WANTLIB += quadmath
> . endif
> Index: infrastructure/mk/gcc4.port.mk
> ===================================================================
> RCS file: /home/cvs/ports/infrastructure/mk/gcc4.port.mk,v
> retrieving revision 1.12
> diff -u -p -u -p -r1.12 gcc4.port.mk
> --- infrastructure/mk/gcc4.port.mk 8 Mar 2016 16:46:05 -0000 1.12
> +++ infrastructure/mk/gcc4.port.mk 17 Oct 2018 17:04:43 -0000
> @@ -1,2 +1,2 @@
> -MODGCC4_VERSION?=4.9
> +MODGCC4_VERSION?=6
> .include "${PORTSDIR}/lang/gcc/${MODGCC4_VERSION}/gcc4.port.mk"
--
Christian "naddy" Weisgerber [email protected]