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.
*** Bug 238429 has been marked as a duplicate of this bug. ***
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.
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
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
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
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
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"}
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
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
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
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
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
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.
(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.
(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.
(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?)
(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.
To test on amd64 with GCC, you would also need to put in make.conf: FAVORITE_COMPILER == gcc
(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).
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
I believe that this is ready for another exp-run. All build failures should have been fixed.
New failure log on 12.0 amd64: http://package18.nyi.freebsd.org/data/120amd64-default-PR238330/2019-07-09_07h29m57s/logs/ncbi-blast+-2.9.0.log
New failure log on 11.2 i386: http://package23.nyi.freebsd.org/data/112i386-default-PR238330/2019-07-09_07h28m27s/logs/ncbi-blast+-2.9.0.log
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.)
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
Thanks everyone for all the help!
powerpcspe will need to be locked to gcc8, since SPE support was removed.
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.
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
(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.
(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.
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?
(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@ :)
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).
(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.
(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".
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
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