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                          na...@mips.inka.de

Reply via email to