svn commit: r442460 - in head: . Mk devel/qt5-core devel/qt5-qmake

Tobias C. Berner tcberner at FreeBSD.org
Fri Jun 2 20:03:13 UTC 2017


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 at 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 at 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-
 


More information about the svn-ports-all mailing list