Created attachment 144863 [details] Patch for Mk/bsd.{gcc,default-versions}.mk Right now USE_GCC=yes and lang/gcc (via Mk/bsd.default-versions.mk) imply GCC 4.7 as default. The GCC 4.7 branch has now been closed and retired, no more updates or fixes are planned any more. Hence we should update to GCC 4.8 despite having move to GCC 4.7 a couple of months ago due to the challenges associated with that (ports being broken in many ways). Based on the infrastructure work we have done for the 4.7 update this one should be easier. Famous last words. :-)
Over to portmgr.
Take for exp-run
Hi, I did 1 run on 91amd64 and 1 run on 10amd64. For 91amd64: - the results are at http://package23.nyi.freebsd.org/build.html?mastername=91amd64-default-PR192025&build=2014-07-23_19h10m25s - 1 new failure: + {"origin"=>"math/abacus", "pkgname"=>"abacus-3.2.b1_2", "phase"=>"build", "errortype"=>"???"} - the failure log: http://package23.nyi.freebsd.org/data/91amd64-default-PR192025/2014-07-23_19h10m25s/logs/errors/abacus-3.2.b1_2.log For 10amd64: - the results are at http://package23.nyi.freebsd.org/build.html?mastername=10amd64-default-PR192025&build=2014-07-24_23h12m00s - 7 new failures, but devel/gps may be unrelated: + {"origin"=>"cad/kicad", "pkgname"=>"kicad-2013.05.18.b4017,1", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/gps", "pkgname"=>"gps-ide-6.1.0.0", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"editors/openoffice-4", "pkgname"=>"apache-openoffice-4.0.1_4", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"games/opencity", "pkgname"=>"opencity-0.0.6.4_3", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"graphics/Coin", "pkgname"=>"Coin-3.1.3_6", "phase"=>"build", "errortype"=>"new_compiler_error"} + {"origin"=>"lang/urweb", "pkgname"=>"urweb-20140704", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"math/abacus", "pkgname"=>"abacus-3.2.b1_2", "phase"=>"build", "errortype"=>"???"} - the failure logs: http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-24_23h12m00s/logs/errors/kicad-2013.05.18.b4017,1.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-24_23h12m00s/logs/errors/gps-ide-6.1.0.0.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-24_23h12m00s/logs/errors/apache-openoffice-4.0.1_4.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-24_23h12m00s/logs/errors/opencity-0.0.6.4_3.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-24_23h12m00s/logs/errors/Coin-3.1.3_6.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-24_23h12m00s/logs/errors/urweb-20140704.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-24_23h12m00s/logs/errors/abacus-3.2.b1_2.log Let me know if you need further tests
One more note, for lang/urweb the problem seems to come from lang/mlton dependency which uses gcc
editors/openoffice-4 is _not_ a regression caused by this patch. According to - my own tests with redports and a vanilla tree - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=187681 - http://portsmon.freebsd.org/portoverview.py?portname=openoffice-4 the port fails as is, before the patch. For the other six ports potentially affected I created individual bug reports linked to this one as dependencies and involved their maintainers.
editors/openoffice-4 usually builds fine on 10amd64 in poudriere, see success logs at http://gohan3.ysv.freebsd.org/data/10amd64-default-baseline/362860/logs/apache-openoffice-4.0.1_4.log or at http://package23.nyi.freebsd.org/data/10amd64-default-PR191990/2014-07-22_06h26m50s/logs/apache-openoffice-4.0.1_4.log Here we have an internal compiler error that seems related to gcc48: Compiling: sc/source/ui/miscdlgs/crnrdlg.cxx g++48 -fmessage-length=0 -c -O2 -fno-strict-aliasing -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 -fvisibility=hidden -I. -I../../../unxfbsdx.pro/inc/miscdlgs -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solver/401/unxfbsdx.pro/inc/offuh -I../inc -I../../../inc/pch -I../../../inc -I../../../unx/inc -I../../../unxfbsdx.pro/inc -I. -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solver/401/unxfbsdx.pro/inc/stl -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solver/401/unxfbsdx.pro/inc/external -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solver/401/unxfbsdx.pro/inc -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solenv/unxfbsdx/inc -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solenv/inc -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/res -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solver/401/unxfbsdx.pro/inc/stl -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solenv/inc/Xp31 -I/usr/local/openjdk7/include -I/usr/local/openjdk7/include/freebsd -I/usr/local/openjdk7/include/bsd -I/usr/local/openjdk7/include/linux -I/usr/local/openjdk7/include/native_threads/include -I/usr/local/include -I/wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/solver/401/unxfbsdx.pro/inc/offuh -I. -I../../../res -I. -pipe -Wl,-rpath=/usr/local/lib/gcc48 -fvisibility-inlines-hidden -g1 -Wall -Wextra -Wendif-labels -Wshadow -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fpic -DFREEBSD -DUNX -DVCL -DGCC -DC341 -DX86_64 -DX86_64 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450 -DHAVE_GCC_VISIBILITY_FEATURE -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 -DGXX_INCLUDE_PATH=/usr/local/lib/gcc48/include/c++ -DSUPD=401 -DPRODUCT -DNDEBUG -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DCUI -DSOLAR_JAVA -DSC_DLLIMPLEMENTATION -DSHAREDLIB -D_DLL_ -fexceptions -fno-enforce-eh-specs -DEXCEPTIONS_ON -o ../../../unxfbsdx.pro/slo/crnrdlg.o /wrkdirs/usr/ports/editors/openoffice-4/work/aoo-4.0.1/main/sc/source/ui/miscdlgs/crnrdlg.cxx g++48: internal compiler error: Killed (program cc1plus) no stack trace because unwind library not available Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. dmake: Error code 4, while making '../../../unxfbsdx.pro/slo/crnrdlg.obj'
So I relaunched the build, this time gps, urweb and openoffice-4 succeeded: http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-26_21h30m19s/logs/urweb-20140704.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-26_21h30m19s/logs/gps-ide-6.1.0.0.log http://package23.nyi.freebsd.org/data/10amd64-default-PR192025/2014-07-26_21h30m19s/logs/apache-openoffice-4.0.1_4.log
All problems (= bugs in other ports) triggered by this update from GCC 4.7 to GCC 4.8 have been addressed, so I am planning to commit this patch.
A commit references this bug: Author: gerald Date: Wed Sep 10 19:09:59 UTC 2014 New revision: 367883 URL: http://svnweb.freebsd.org/changeset/ports/367883 Log: Update the default version of GCC in the Ports Collection from GCC 4.7.4 to GCC 4.8.3. This entails updating the lang/gcc port as well as changing the default in Mk/bsd.default-versions.mk, and it replaces the CONFLICT between the lang/gcc and lang/gcc47 ports by lang/gcc48. GCC now uses C++ as its implementation language and performs more aggressive loop analysis which can be disabled via the -fno-aggressive-loop-optimizations command-line option. Compilation of extremely large functions has been signficantly improved, as have interprocedural optimizations. A new optimization level -Og has been introduced. It addresses the need for fast compilation and a superior debugging experience while providing a reasonable level of run-time performance. This should be better suitable for development than the default -O0. A new local register allocator (LRA) has been implemented, which replaces the 26 year old reload pass and improves generated code quality. For now it is active on the x86 and x86-64 targets. AddressSanitizer, a fast memory error detector, has been added and can be enabled via -fsanitize=address. Each diagnostic emitted now includes the original source line and a caret indicating the column. The new option -Wpedantic is an alias for -pedantic, which is now deprecated. The C++ frontend and associated run-time library libstdc++ have gained support for many additional C++11 features. As with previous releases the Fortrand frontend has seen many improvements as well. Support for the AArch64 has been added, and there are many improvements to the x86/x86-64 backend and others. See http://gcc.gnu.org/gcc-4.8/changes.html for an extense list of changes; http://gcc.gnu.org/gcc-4.8/porting_to.html for information on how to port to that new version. PR: 192025 Tested by: antoine (-exp runs) Changes: head/Mk/bsd.default-versions.mk head/lang/gcc/Makefile head/lang/gcc/distinfo head/lang/gcc/pkg-descr head/lang/gcc/pkg-plist
A commit references this bug: Author: gerald Date: Fri Sep 12 00:01:26 UTC 2014 New revision: 367997 URL: http://svnweb.freebsd.org/changeset/ports/367997 Log: Fix the PORTREVISION bump for the lang/gcc update that went badly for ports (x11-drivers plus graphics/libGL plus x11-servers/xorg-server) that handle PORTREVISION in a creative manner hardly lending itself to any form of automated bumping. PR: 192025 Reported by: Scott Allendorf <scott-allendorf@uiowa.edu> Changes: head/graphics/libGL/Makefile head/x11-drivers/xf86-input-elographics/Makefile head/x11-drivers/xf86-input-hyperpen/Makefile head/x11-drivers/xf86-input-joystick/Makefile head/x11-drivers/xf86-input-penmount/Makefile head/x11-drivers/xf86-input-synaptics/Makefile head/x11-drivers/xf86-input-void/Makefile head/x11-drivers/xf86-video-ati/Makefile head/x11-drivers/xf86-video-intel/Makefile head/x11-servers/xorg-server/Makefile