Bug 192025

Summary: exp-run: Update default version of GCC (USE_GCC=yes, lang/gcc,...) to GCC 4.8
Product: Ports & Packages Reporter: Gerald Pfeifer <gerald>
Component: Ports FrameworkAssignee: Gerald Pfeifer <gerald>
Status: Closed FIXED    
Severity: Affects Many People CC: cmt, portmgr
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 192131, 192132, 192133, 192134, 192135, 192136    
Bug Blocks: 196712    
Attachments:
Description Flags
Patch for Mk/bsd.{gcc,default-versions}.mk none

Description Gerald Pfeifer freebsd_committer freebsd_triage 2014-07-21 21:29:24 UTC
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. :-)
Comment 1 Gerald Pfeifer freebsd_committer freebsd_triage 2014-07-21 21:30:03 UTC
Over to portmgr.
Comment 2 Antoine Brodin freebsd_committer freebsd_triage 2014-07-23 18:47:54 UTC
Take for exp-run
Comment 3 Antoine Brodin freebsd_committer freebsd_triage 2014-07-26 05:50:37 UTC
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
Comment 4 Antoine Brodin freebsd_committer freebsd_triage 2014-07-26 06:05:09 UTC
One more note,  for lang/urweb the problem seems to come from lang/mlton dependency which uses gcc
Comment 5 Gerald Pfeifer freebsd_committer freebsd_triage 2014-07-26 19:43:21 UTC
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.
Comment 6 Antoine Brodin freebsd_committer freebsd_triage 2014-07-26 21:26:13 UTC
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'
Comment 8 Gerald Pfeifer freebsd_committer freebsd_triage 2014-08-31 00:39:48 UTC
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.
Comment 9 commit-hook freebsd_committer freebsd_triage 2014-09-10 19:10:20 UTC
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
Comment 10 commit-hook freebsd_committer freebsd_triage 2014-09-12 00:02:20 UTC
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