Bug 238330 - [exp-run] Update GCC_DEFAULT from 8 to 9
Summary: [exp-run] Update GCC_DEFAULT from 8 to 9
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Gerald Pfeifer
URL:
Keywords:
: 238429 (view as bug list)
Depends on: 231590 238471 238538 238647 238654 238666
Blocks:
  Show dependency treegraph
 
Reported: 2019-06-05 05:20 UTC by Gerald Pfeifer
Modified: 2020-05-24 15:04 UTC (History)
7 users (show)

See Also:
gerald: exp-run+


Attachments
Patch to Mk/bsd.default-versions.mk (431 bytes, patch)
2019-06-05 05:20 UTC, Gerald Pfeifer
no flags Details | Diff
Lock powerpcspe to GCC 8, since support was removed with GCC 9 (565 bytes, patch)
2019-07-27 12:33 UTC, Gerald Pfeifer
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gerald Pfeifer freebsd_committer freebsd_triage 2019-06-05 05:20:00 UTC
Created attachment 204832 [details]
Patch to Mk/bsd.default-versions.mk

GCC 8 is about in the middle of its lifecycle and GCC 9.1, as the first
release in the GCC 9 series just got released, but given how long it has
been taking us to get the tree ready for new versions of GCC and that
distros like openSUSE have already made the switch, let's see what it
takes for us to move forward.

From all I can tell this should be an easier upgrade than most in the
past couple of years, but let's see how many broken ports we've got
and how responsive maintainers are this time.

https://gcc.gnu.org/gcc-9/porting_to.html and the general release notes
https://gcc.gnu.org/gcc-9/changes.html may prove useful for anyone helping.
Comment 1 Tobias Kortkamp freebsd_committer freebsd_triage 2019-06-09 03:44:46 UTC
*** Bug 238429 has been marked as a duplicate of this bug. ***
Comment 2 Gerald Pfeifer freebsd_committer freebsd_triage 2019-06-09 07:55:22 UTC
Jan, I see (via #238429) that you are interested in this.  Apologies
for not copying you on mine, I simply did not want to assume.

Would you be able to take the lead on addressing ports in need of an
adjustment or fix?  That would be awesome and really helpful.
Comment 3 Antoine Brodin freebsd_committer freebsd_triage 2019-06-10 18:50:31 UTC
New failures on 12.0 i386:

+ {"origin"=>"biology/ncbi-blast+", "phase"=>"package", "errortype"=>"makefile"}
+ {"origin"=>"devel/tigcc", "phase"=>"build", "errortype"=>"compiler_error"}
+ {"origin"=>"emulators/pearpc", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/colmap", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/lightzone", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/photoflow", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"lang/cint", "phase"=>"package", "errortype"=>"new_compiler_error"}
+ {"origin"=>"lang/opencoarrays", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"misc/estic", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"multimedia/avidemux", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"science/dftbplus", "phase"=>"build", "errortype"=>"linker_error"}
+ {"origin"=>"sysutils/shim", "phase"=>"build", "errortype"=>"clang_werror"}

New failure logs on 12.0 i386:

http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/ncbi-blast+-2.8.1_2.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/tigcc-0.96.b8_9.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/pearpc-0.5_8.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/colmap-3.5_7.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/lightzone-4.1.8.3_3.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/photoflow-0.2.8.1260.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/cint-5.18.00_12.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/opencoarrays-2.6.1_1.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/estic-1.61_9.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/avidemux-2.6.11_14.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/dftbplus-18.2_6.log
http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/shim-0.9_2.log
Comment 4 Antoine Brodin freebsd_committer freebsd_triage 2019-06-10 18:53:27 UTC
New failures on 12.0 amd64:

+ {"origin"=>"biology/ncbi-blast+", "phase"=>"package", "errortype"=>"makefile"}
+ {"origin"=>"devel/elfutils", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"devel/tigcc", "phase"=>"build", "errortype"=>"compiler_error"}
+ {"origin"=>"emulators/pearpc", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/colmap", "phase"=>"build", "errortype"=>"???"}   
+ {"origin"=>"graphics/lightzone", "phase"=>"build", "errortype"=>"???"}  
+ {"origin"=>"graphics/photoflow", "phase"=>"package", "errortype"=>"???"}
+ {"origin"=>"lang/cint", "phase"=>"package", "errortype"=>"new_compiler_error"}
+ {"origin"=>"lang/opencoarrays", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"misc/estic", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"multimedia/avidemux", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"science/dftbplus", "phase"=>"build", "errortype"=>"linker_error"}
+ {"origin"=>"sysutils/shim", "phase"=>"build", "errortype"=>"clang_werror"}

New failure logs on 12.0 amd64:

http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/ncbi-blast+-2.8.1_2.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/elfutils-0.174_2.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/tigcc-0.96.b8_9.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/pearpc-0.5_8.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/colmap-3.5_7.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/lightzone-4.1.8.3_3.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/photoflow-0.2.8.1260.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/cint-5.18.00_12.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/opencoarrays-2.6.1_1.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/estic-1.61_9.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/avidemux-2.6.11_14.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/dftbplus-18.2_6.log
http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-06-09_20h26m27s/logs/errors/shim-0.9_2.log
Comment 5 Antoine Brodin freebsd_committer freebsd_triage 2019-06-10 18:57:01 UTC
New failures on 11.2 i386:

+ {"origin"=>"biology/ncbi-blast+", "phase"=>"package", "errortype"=>"makefile"}
+ {"origin"=>"devel/kronosnet", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"devel/tigcc", "phase"=>"build", "errortype"=>"compiler_error"}
+ {"origin"=>"emulators/pearpc", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/colmap", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/lightzone", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/photoflow", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"lang/cint", "phase"=>"package", "errortype"=>"new_compiler_error"}
+ {"origin"=>"lang/opencoarrays", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"misc/estic", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"multimedia/avidemux", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"science/dftbplus", "phase"=>"build", "errortype"=>"linker_error"}
+ {"origin"=>"sysutils/shim", "phase"=>"build", "errortype"=>"clang_werror"}

New failure logs on 11.2 i386:

http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/ncbi-blast+-2.8.1_2.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/kronosnet-1.3_3.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/tigcc-0.96.b8_9.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/pearpc-0.5_8.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/colmap-3.5_7.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/lightzone-4.1.8.3_3.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/photoflow-0.2.8.1260.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/cint-5.18.00_12.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/opencoarrays-2.6.1_1.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/estic-1.61_9.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/avidemux-2.6.11_14.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/dftbplus-18.2_6.log
http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-06-09_20h28m31s/logs/errors/shim-0.9_2.log
Comment 6 Antoine Brodin freebsd_committer freebsd_triage 2019-06-10 18:59:28 UTC
New failures on 11.2 amd64:

+ {"origin"=>"biology/ncbi-blast+", "phase"=>"package", "errortype"=>"makefile"}
+ {"origin"=>"devel/elfutils", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"devel/kronosnet", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"devel/tigcc", "phase"=>"build", "errortype"=>"compiler_error"}
+ {"origin"=>"emulators/pearpc", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/colmap", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/lightzone", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"graphics/photoflow", "phase"=>"package", "errortype"=>"???"}
+ {"origin"=>"lang/cint", "phase"=>"package", "errortype"=>"new_compiler_error"}
+ {"origin"=>"lang/opencoarrays", "phase"=>"build", "errortype"=>"???"}
+ {"origin"=>"misc/estic", "phase"=>"build", "errortype"=>"bad_C++_code"}
+ {"origin"=>"multimedia/avidemux", "phase"=>"build", "errortype"=>"clang_werror"}
+ {"origin"=>"science/dftbplus", "phase"=>"build", "errortype"=>"linker_error"}
+ {"origin"=>"sysutils/shim", "phase"=>"build", "errortype"=>"clang_werror"}

New failure logs on 11.2 amd64:

http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/ncbi-blast+-2.8.1_2.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/elfutils-0.174_2.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/kronosnet-1.3_3.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/tigcc-0.96.b8_9.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/pearpc-0.5_8.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/colmap-3.5_7.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/lightzone-4.1.8.3_3.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/photoflow-0.2.8.1260.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/cint-5.18.00_12.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/opencoarrays-2.6.1_1.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/estic-1.61_9.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/avidemux-2.6.11_14.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/dftbplus-18.2_6.log
http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/shim-0.9_2.log
Comment 7 Gerald Pfeifer freebsd_committer freebsd_triage 2019-06-10 20:51:56 UTC
Good news, kinda, is that it's "only" fourteen ports affected this time:

biology/ncbi-blast+ :  "phase"=>"package", "errortype"=>"makefile"}
devel/elfutils :  "phase"=>"build", "errortype"=>"clang_werror"}
devel/kronosnet :  "phase"=>"build", "errortype"=>"clang_werror"}
devel/tigcc :  "phase"=>"build", "errortype"=>"compiler_error"}
emulators/pearpc :  "phase"=>"build", "errortype"=>"???"}
graphics/colmap :  "phase"=>"build", "errortype"=>"???"}
graphics/lightzone :  "phase"=>"build", "errortype"=>"???"}
graphics/photoflow :  "phase"=>"...", "errortype"=>"..."}
lang/cint :  "phase"=>"package", "errortype"=>"new_compiler_error"}
lang/opencoarrays :  "phase"=>"build", "errortype"=>"???"}
misc/estic :  "phase"=>"build", "errortype"=>"bad_C++_code"}
multimedia/avidemux :  "phase"=>"build", "errortype"=>"clang_werror"}
science/dftbplus :  "phase"=>"build", "errortype"=>"linker_error"}
sysutils/shim :  "phase"=>"build", "errortype"=>"clang_werror"}
Comment 8 commit-hook freebsd_committer freebsd_triage 2019-06-17 10:29:14 UTC
A commit references this bug:

Author: tobik
Date: Mon Jun 17 10:28:57 UTC 2019
New revision: 504407
URL: https://svnweb.freebsd.org/changeset/ports/504407

Log:
  lang/opencoarrays: Update to 2.7.1

  - This also fixes the build with GCC 9 [1].
  - Drop GCC 5 clause.  According to INSTALL GFortran >= 6.1 is required
    to build it.

  Changes:	https://github.com/sourceryinstitute/OpenCoarrays/releases
  PR:		238330 [1]

Changes:
  head/lang/opencoarrays/Makefile
  head/lang/opencoarrays/distinfo
  head/lang/opencoarrays/pkg-plist
Comment 9 commit-hook freebsd_committer freebsd_triage 2019-06-17 10:56:00 UTC
A commit references this bug:

Author: tobik
Date: Mon Jun 17 10:55:14 UTC 2019
New revision: 504409
URL: https://svnweb.freebsd.org/changeset/ports/504409

Log:
  multimedia/avidemux: Disable -Werror=attributes and unbreak build with GCC 9

  In file included from .../.build/ffmpeg/source/libavutil/common.h:437,
                   from .../.build/ffmpeg/source/libavutil/avutil.h:296,
                   from .../.build/ffmpeg/source/libavutil/samplefmt.h:24,
                   from .../.build/ffmpeg/source/libavcodec/avcodec.h:31,
                   from .../avidemux_2.6.11/avidemux_core/ADM_core/src/ADM_memcpy.cpp:41:
  .../.build/ffmpeg/source/libavutil/mem.h:185:79: error: 'alloc_size' attribute ignored on a function returning 'int' [-Werror=attributes]
    185 | av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
        |                                                                               ^
  cc1plus: some warnings being treated as errors

  http://package22.nyi.freebsd.org/data/112amd64-default-PR238330/2019-06-09_20h29m30s/logs/errors/avidemux-2.6.11_14.log

  PR:		238330

Changes:
  head/multimedia/avidemux/files/patch-cmake_admMainChecks.cmake
Comment 10 commit-hook freebsd_committer freebsd_triage 2019-06-17 11:51:55 UTC
A commit references this bug:

Author: jbeich
Date: Mon Jun 17 11:51:10 UTC 2019
New revision: 504415
URL: https://svnweb.freebsd.org/changeset/ports/504415

Log:
  graphics/colmap: unbreak OPENMP with GCC 9

  In file included from lib/VLFeat/kmeans.h:21,
                   from lib/VLFeat/kmeans.c:363:
  lib/VLFeat/kmeans.c: In function '_vl_kmeans_quantize_f':
  lib/VLFeat/mathop.h:92:37: error: 'vl_infinity_d' not specified in enclosing 'parallel'
     92 | #define VL_INFINITY_D (vl_infinity_d.value)
        |                       ~~~~~~~~~~~~~~^~~~~~~
  lib/VLFeat/kmeans.c:685:34: note: in expansion of macro 'VL_INFINITY_D'
    685 |       TYPE bestDistance = (TYPE) VL_INFINITY_D ;
        |                                  ^~~~~~~~~~~~~
  In file included from lib/VLFeat/kmeans.c:1782:
  lib/VLFeat/kmeans.c:672:9: error: enclosing 'parallel'
    672 | #pragma omp parallel default(none) \
        |         ^~~
  In file included from lib/VLFeat/kmeans.c:1788:
  lib/VLFeat/kmeans.c: In function '_vl_kmeans_quantize_d':
  lib/VLFeat/kmeans.c:685:27: error: 'vl_infinity_d' not specified in enclosing 'parallel'
    685 |       TYPE bestDistance = (TYPE) VL_INFINITY_D ;
  lib/VLFeat/kmeans.c:672:9: error: enclosing 'parallel'
    672 | #pragma omp parallel default(none) \
        |         ^~~

  PR:		238330
  Reported by:	antoine (via exp-run)

Changes:
  head/graphics/colmap/Makefile
  head/graphics/colmap/distinfo
Comment 11 commit-hook freebsd_committer freebsd_triage 2019-06-17 11:53:16 UTC
A commit references this bug:

Author: tobik
Date: Mon Jun 17 11:52:50 UTC 2019
New revision: 504416
URL: https://svnweb.freebsd.org/changeset/ports/504416

Log:
  devel/kronosnet: Unbreak build with GCC 9

  In file included from common.c:22:
  In function 'open_lib',
      inlined from 'load_module' at common.c:130:11:
  logging.h:21:17: error: '%s' directive argument is null [-Werror=format-overflow=]
     21 | #define LOG_MSG log_msg
        |                 ^
  logging.h:30:2: note: in expansion of macro 'LOG_MSG'
     30 |  LOG_MSG(knet_h, subsys, KNET_LOG_WARN, fmt, ##args)
        |  ^~~~~~~
  common.c:85:3: note: in expansion of macro 'log_warn'
     85 |   log_warn(knet_h, KNET_SUB_COMMON, "unable to dlinfo %s: %s",
        |   ^~~~~~~~
  common.c: In function 'load_module':
  common.c:85:59: note: format string is defined here
     85 |   log_warn(knet_h, KNET_SUB_COMMON, "unable to dlinfo %s: %s",
        |

  PR:		238330
  Obtained from:	upstream

Changes:
  head/devel/kronosnet/Makefile
  head/devel/kronosnet/files/patch-libknet_common.c
Comment 12 commit-hook freebsd_committer freebsd_triage 2019-06-21 12:38:51 UTC
A commit references this bug:

Author: tobik
Date: Fri Jun 21 12:37:52 UTC 2019
New revision: 504795
URL: https://svnweb.freebsd.org/changeset/ports/504795

Log:
  devel/tigcc: Unbreak build with GCC 9

  .../gnu/gcc-4.1-20060728/gcc/c-decl.c: At top level:
  .../gnu/gcc-4.1-20060728/gcc/c-decl.c:1130:1: error: 'cgraph_node' is not defined as a type
   1130 | locate_old_decl (tree decl, void (*diag)(const char *, ...) ATTRIBUTE_GCC_CDIAG(1,2))
        | ^~~~~~~~~~~~~~~

  http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/tigcc-0.96.b8_9.log

  Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90677

  PR:		238330

Changes:
  head/devel/tigcc/files/patch-gcc9
Comment 13 Piotr Kubaj freebsd_committer freebsd_triage 2019-06-21 15:50:09 UTC
When you test for regressions, could you also either test on some platform that uses GCC in base (like powerpc64), or Clang platform with world compiled with WITH_GCC=yes and set up to use GCC for ports by default?

This will help us not getting overwhelmed with half of the ports tree not being built due to the switch.
Comment 14 Jan Beich freebsd_committer freebsd_triage 2019-06-21 16:15:53 UTC
(In reply to Piotr Kubaj from comment #13)
I'm not on portmgr@ but...
- There're no free powerpc64 or aarch64 machines for exp-runs, see https://pkg-status.freebsd.org/builds?type=exp
- WITHOUT_CLANG_IS_CC is not supported on amd64, i386, aarch64, armv7 for building ports. No clue about armv6. In the past, DragonFly (via marino@) made sure many ports built with GCC on amd64.
Comment 15 Piotr Kubaj freebsd_committer freebsd_triage 2019-06-21 19:07:09 UTC
(In reply to Jan Beich from comment #14)
I just created a jail on 12.0-RELEASE/amd64 with following src.conf:
WITHOUT_CLANG_IS_CC="YES"
WITH_GCC="YES"

root@cloud:/ # freebsd-version -u
12.0-RELEASE-p6
root@cloud:/ # cc -v
Using built-in specs.
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.1 20070831 patched [FreeBSD]
root@cloud:/ # clang -v
FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)
Target: x86_64-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin

It would be really awesome if you could do exp-runs for this PR using also such configuration.
Comment 16 Gerald Pfeifer freebsd_committer freebsd_triage 2019-06-21 20:03:52 UTC
(In reply to Piotr Kubaj from comment #15)
> It would be really awesome if you could do exp-runs for this PR
> using also such configuration.

Who is going to fix the fall-out of such an exp-run?  

(And how long should we hold off this upgrade over it?)
Comment 17 Mark Linimon freebsd_committer freebsd_triage 2019-06-21 20:31:27 UTC
(In reply to Gerald Pfeifer from comment #16)

> how long should we hold off this upgrade over it?

Traditionally we have not gated src upgrades based on tier-2 considerations.  Perhaps we will need to revisit this idea once aarch64 and/or powerpc64 become tier-1 platforms.

> Who is going to fix the fall-out of such an exp-run?

Traditionally ports committers interested in the specific plaforms wind up doing the work.  I don't see that changing anytime in the near future.
Comment 18 Piotr Kubaj freebsd_committer freebsd_triage 2019-06-27 13:24:20 UTC
To test on amd64 with GCC, you would also need to put in make.conf:
FAVORITE_COMPILER == gcc
Comment 19 Jan Beich freebsd_committer freebsd_triage 2019-06-27 17:25:14 UTC
(In reply to Piotr Kubaj from comment #18)
FAVORITE_COMPILER=gcc is nop on WITH_CLANG_IS_CC platforms. It was originally created to choose between Clang + libstdc++ and GCC + libstdc++ on FreeBSD 9.x amd64/i386. Since then Clang switched to libc++, so using GCC is no longer safe unless forced to use libc++ (via USES=compiler:gcc-c++11-lib).
Comment 20 commit-hook freebsd_committer freebsd_triage 2019-07-01 08:06:22 UTC
A commit references this bug:

Author: tobik
Date: Mon Jul  1 08:05:49 UTC 2019
New revision: 505552
URL: https://svnweb.freebsd.org/changeset/ports/505552

Log:
  emulators/pearpc: Lock to GCC 8

  It does not build with GCC 9:

  ppc_fpu.cc: In function 'void ppc_opc_faddx()':
  ppc_fpu.cc:1017:51: error: cannot bind packed field 'gCPU.PPC_CPU_State::fpr[frD]' to 'uint64&' {aka 'long long unsigned int&'}
   1017 |  gCPU.fpscr |= ppc_fpu_pack_double(D, gCPU.fpr[frD]);
        |                                       ~~~~~~~~~~~~^
  ppc_fpu.cc: In function 'void ppc_opc_faddsx()':
  ppc_fpu.cc:1056:61: error: cannot bind packed field 'gCPU.PPC_CPU_State::fpr[frD]' to 'uint64&' {aka 'long long unsigned int&'}
   1056 |  gCPU.fpscr |= ppc_fpu_pack_double_as_single(D, gCPU.fpr[frD]);
        |                                                 ~~~~~~~~~~~~^
  ppc_fpu.cc: In function 'void ppc_opc_fdivx()':
  ppc_fpu.cc:1272:51: error: cannot bind packed field 'gCPU.PPC_CPU_State::fpr[frD]' to 'uint64&' {aka 'long long unsigned int&'}
   1272 |  gCPU.fpscr |= ppc_fpu_pack_double(D, gCPU.fpr[frD]);
        |                                       ~~~~~~~~~~~~^
  ppc_fpu.cc: In function 'void ppc_opc_fdivsx()':
  ppc_fpu.cc:1318:61: error: cannot bind packed field 'gCPU.PPC_CPU_State::fpr[frD]' to 'uint64&' {aka 'long long unsigned int&'}
   1318 |  gCPU.fpscr |= ppc_fpu_pack_double_as_single(D, gCPU.fpr[frD]);
        |                                                 ~~~~~~~~~~~~^
  ppc_fpu.cc: In function 'void ppc_opc_fmaddx()':
  ppc_fpu.cc:1342:51: error: cannot bind packed field 'gCPU.PPC_CPU_State::fpr[frD]' to 'uint64&' {aka 'long long unsigned int&'}
   1342 |  gCPU.fpscr |= ppc_fpu_pack_double(D, gCPU.fpr[frD]);
        |                                       ~~~~~~~~~~~~^
  [...]

  http://pb2.nyi.freebsd.org/data/120i386-default-PR238330/2019-06-09_20h27m22s/logs/errors/pearpc-0.5_8.log

  This does not seem trivial to fix and there is no active upstream
  to report this to.  Put an expiration date on the port too.

  PR:		238330

Changes:
  head/emulators/pearpc/Makefile
Comment 21 Tobias Kortkamp freebsd_committer freebsd_triage 2019-07-03 10:56:33 UTC
I believe that this is ready for another exp-run.  All build failures
should have been fixed.
Comment 24 Gerald Pfeifer freebsd_committer freebsd_triage 2019-07-11 21:05:13 UTC
Looks like all issues have been addressed now and this is ready to
be committed?

Thanks to everyone who helped, and in particular Tobias and Jan for
driving this!

(I'll be traveling the next two week, but will see to commit the
update and set of PORTREVISION bumps in the next days.)
Comment 25 commit-hook freebsd_committer freebsd_triage 2019-07-26 20:36:22 UTC
A commit references this bug:

Author: gerald
Date: Fri Jul 26 20:35:21 UTC 2019
New revision: 507371
URL: https://svnweb.freebsd.org/changeset/ports/507371

Log:
  Update the default version of GCC as pulled in via USE_GCC=yes and a
  myriad of other ways from GCC 8 (8.3 right now) to GCC 9 (9.1 right now).

  PR:		238330
  Tested by:	antoine (exp-runs)
  Thanks to:	tobik, jbeich (for heavy lifting fixing broken ports)

Changes:
  head/Mk/bsd.default-versions.mk
Comment 26 Gerald Pfeifer freebsd_committer freebsd_triage 2019-07-26 21:13:51 UTC
Thanks everyone for all the help!
Comment 27 Justin Hibbits freebsd_committer freebsd_triage 2019-07-26 21:40:04 UTC
powerpcspe will need to be locked to gcc8, since SPE support was removed.
Comment 28 Piotr Kubaj freebsd_committer freebsd_triage 2019-07-26 22:05:00 UTC
The other problem is that there's now a dependency loop in lang/gcc9 for powerpc64.

This is precisely why I didn't want USE_GCC=yes there in the first place.
Comment 29 commit-hook freebsd_committer freebsd_triage 2019-07-27 06:51:05 UTC
A commit references this bug:

Author: gerald
Date: Sat Jul 27 06:50:25 UTC 2019
New revision: 507388
URL: https://svnweb.freebsd.org/changeset/ports/507388

Log:
  Explicitly depend on GCC 8 (instead of USE_GCC=yes) for powerpc64 to
  avoid a dependency loop.

  PR:		238330
  Reported by:	pkubaj

Changes:
  head/lang/gcc9/Makefile
Comment 30 Gerald Pfeifer freebsd_committer freebsd_triage 2019-07-27 06:55:35 UTC
(In reply to Piotr Kubaj from comment #28)

Fair enough, Piotr.  Fixed for now by depending on GCC 8 there.

Though in PR 239266 someone claimed that this dependency may not be
necessary any longer at all?  Would be great if you could have a look.
Comment 31 Piotr Kubaj freebsd_committer freebsd_triage 2019-07-27 07:52:17 UTC
(In reply to Gerald Pfeifer from comment #30)
This dependency is not needed when Clang is used as a system compiler. powerpc64 is switching to clang soon (meaning probably next month). But stable/11 and stable/12 will still be supported and currently head also uses base GCC.

You should also lock powerpcspe to GCC8 since it can't use GCC9.
Comment 32 Gerald Pfeifer freebsd_committer freebsd_triage 2019-07-27 12:33:01 UTC
Created attachment 206099 [details]
Lock powerpcspe to GCC 8, since support was removed with GCC 9

Like this, Piotr?  Does this work for you on powerpcspe?
Comment 33 Piotr Kubaj freebsd_committer freebsd_triage 2019-07-27 19:25:17 UTC
(In reply to Gerald Pfeifer from comment #32)
I don't know, I don't have powerpcspe machine myself. Probably 100% of powerpcspe machines running FreeBSD are owned by jhibbits@ and bdragon@ :)
Comment 34 Justin Hibbits freebsd_committer freebsd_triage 2019-07-27 19:56:00 UTC
The patch looks fine to me.  Haven't actually tested it, but everything looks good.  (Takes well over a week to build a basic desktop ports set natively on the machine).
Comment 35 Gerald Pfeifer freebsd_committer freebsd_triage 2019-07-28 11:00:06 UTC
(In reply to Piotr Kubaj from comment #33)
> Probably 100% of powerpcspe machines running FreeBSD are owned by 
> hibbits@ and bdragon@ :)

Um, that doesn't make a great ROI for the effort some of us have been
spending.  Happy to help where I can, but there's always opportunity
cost.

(In reply to Justin Hibbits from comment #34)
> The patch looks fine to me.  Haven't actually tested it, but everything
> looks good.

Cool, thank you, Justin.  I'll apply this in the next days.
Comment 36 Piotr Kubaj freebsd_committer freebsd_triage 2019-07-28 11:05:29 UTC
(In reply to Gerald Pfeifer from comment #35)
powerpcspe shouldn't really take much, since it's just another variant of powerpc, which is already supported.

The main powerpc architecture is powerpc64, which probably has much more users (and certainly has more developers).

I'm writing this so that it's not left as "all FreeBSD/powerpc* ports have two users".
Comment 37 commit-hook freebsd_committer freebsd_triage 2019-07-30 07:28:12 UTC
A commit references this bug:

Author: gerald
Date: Tue Jul 30 07:27:41 UTC 2019
New revision: 507628
URL: https://svnweb.freebsd.org/changeset/ports/507628

Log:
  Forward port r507388 | gerald | 2019-07-27 from lang/gcc9:

  Explicitly depend on GCC 8 (instead of USE_GCC=yes) for powerpc64 to
  avoid a dependency loop now that GCC_DEFAULT defaults to GCC 9.

  PR:		238330
  Reported by:	pkubaj

Changes:
  head/lang/gcc9-devel/Makefile
Comment 38 commit-hook freebsd_committer freebsd_triage 2019-07-31 07:18:53 UTC
A commit references this bug:

Author: gerald
Date: Wed Jul 31 07:18:48 UTC 2019
New revision: 507702
URL: https://svnweb.freebsd.org/changeset/ports/507702

Log:
  GCC 9 removed support for powerpcspe, so lock down that platform
  to GCC 8.

  PR:		238330
  Reported by:	pkubaj
  Reviewed by.	jhibbits

Changes:
  head/Mk/bsd.default-versions.mk