Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jun 2017 20:03:12 +0000 (UTC)
From:      "Tobias C. Berner" <tcberner@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r442460 - in head: . Mk devel/qt5-core devel/qt5-qmake
Message-ID:  <201706022003.v52K3CkH012011@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tcberner
Date: Fri Jun  2 20:03:12 2017
New Revision: 442460
URL: https://svnweb.freebsd.org/changeset/ports/442460

Log:
  Do not use gold linker for Qt5 ports.
  
    gold linker from binutils 2.28 may produce duplicate library
    symbols, which makes shared libraries created with it not usable
    with conventional ld linker.
  
  PR:		218187
  Submitted by:	amdmi3

Modified:
  head/Mk/bsd.qt.mk
  head/UPDATING
  head/devel/qt5-core/Makefile
  head/devel/qt5-qmake/Makefile

Modified: head/Mk/bsd.qt.mk
==============================================================================
--- head/Mk/bsd.qt.mk	Fri Jun  2 19:56:07 2017	(r442459)
+++ head/Mk/bsd.qt.mk	Fri Jun  2 20:03:12 2017	(r442460)
@@ -147,7 +147,9 @@ CONFIGURE_ARGS+=-nomake examples -nomake tests \
 .  if ${ARCH} == i386 && empty(MACHINE_CPU:Msse2)
 CONFIGURE_ARGS+=-no-sse2
 .  endif
-
+# Work around a bug in current binutils, where the gold linker creates
+# duplicate symbols. See pr 218187. Disable the gold-linker for Qt5 ports.
+CONFIGURE_ARGS+=	-no-use-gold-linker
 . endif
 
 . if defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Fri Jun  2 19:56:07 2017	(r442459)
+++ head/UPDATING	Fri Jun  2 20:03:12 2017	(r442460)
@@ -5,6 +5,27 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20170602:
+  AFFECTS: users of Qt 5 in presence of binutils
+  AUTHOR: amdmi3@FreeBSD.org
+
+  gold linker from binutils 2.28 may produce duplicate library
+  symbols, which makes shared libraries created with it not usable
+  with conventional ld linker.
+
+  This affects Qt, as qt5-qmake will detect gold and use it to build
+  Qt libraries. Broken libQt5Core will be produced and ports which
+  depend on it will then fail to link with the following errors:
+
+    ...lib/libQt5Core.so:(.dynamic+0x27ac8): multiple definition of `__bss_start at Qt_5'
+    ...lib/libQt5Core.so:(.dynamic+0x27ac8): first defined here
+    ...lib/libQt5Core.so:(.dynamic+0x27ac8): multiple definition of `_edata at Qt_5'
+    ...lib/libQt5Core.so:(.dynamic+0x27ac8): first defined here
+    ...lib/libQt5Core.so:(.dynamic+0x2b2d0): multiple definition of `_end at Qt_5'
+
+  Qt5 was fixed to ignore gold. If you see these errors, you
+  need to rebuild qt5-qmake, then all qt5-* ports.
+
 20170529:
   AFFECTS: users of sysutils/dsbmd
   AUTHOR: mk@freeshell.de

Modified: head/devel/qt5-core/Makefile
==============================================================================
--- head/devel/qt5-core/Makefile	Fri Jun  2 19:56:07 2017	(r442459)
+++ head/devel/qt5-core/Makefile	Fri Jun  2 20:03:12 2017	(r442460)
@@ -2,6 +2,7 @@
 
 PORTNAME=	core
 DISTVERSION=	${QT5_VERSION}
+PORTREVISION=	1
 CATEGORIES=	devel
 PKGNAMEPREFIX=	qt5-
 

Modified: head/devel/qt5-qmake/Makefile
==============================================================================
--- head/devel/qt5-qmake/Makefile	Fri Jun  2 19:56:07 2017	(r442459)
+++ head/devel/qt5-qmake/Makefile	Fri Jun  2 20:03:12 2017	(r442460)
@@ -2,7 +2,7 @@
 
 PORTNAME=	qmake
 DISTVERSION=	${QT5_VERSION}
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	devel
 PKGNAMEPREFIX=	qt5-
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706022003.v52K3CkH012011>