Hi ports --

On 10/15/18 12:25 PM, Christian Weisgerber wrote:
One of the likely goals for 6.5 will be to switch ld(1) on amd64
from GNU binutils to LLVM lld.  Here is the current fallout from
a test build with lld:

benchmarks/wrk          string table non-null terminated
databases/pgmodeler     undefined symbol: backtrace
devel/ffcall            can't create dynamic relocation R_X86_64_64
editors/emacs21         segfault
games/tome4             undefined symbol: _Unwind_GetCFA
games/warzone2100       undefined symbol: ogg_sync_init
lang/crystal            undefined symbol: OPENSSL_add_all_algorithms_noconf
lang/fpc                invalid alignment of section headers
lang/gcc/4.9            section sh_addralign is not a power of 2
lang/pypy               ld segfault
misc/rocrail            undefined symbol: operator new(unsigned long)
net/telepathy/folks     edbus-private not found
net/transmission        undefined symbol: libintl_gettext
productivity/glabels    edbus-private not found
security/xca            undefined symbol: _Unwind_Resume
sysutils/firmware/vmm   ld "does not properly handle alignments"
sysutils/memtest86+     unknown argument: --warn-constructors
x11/gnustep/terminal    undefined symbol: libiconv

The critical problems are ffcall and gcc49, which are dependencies
for hundreds of ports.

The error logs are available under
http://build-failures.rhaalovely.net/amd64-clang/2018-10-14/

To try this yourself, do "ln -f /usr/bin/ld.lld /usr/bin/ld" and
tweak ports/infrastructure/mk/arch-defines.mk like this:
-LLD_ARCHS = aarch64 arm
+LLD_ARCHS = aarch64 amd64 arm


Attached is a small diff allowing the transmission build to succeed with lld. Should be a noop with ld.bfd.

OK? (Is the ports tree unlocked?)

~Brian

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/transmission/Makefile,v
retrieving revision 1.129
diff -u -p -r1.129 Makefile
--- Makefile	29 Jun 2018 22:16:19 -0000	1.129
+++ Makefile	15 Oct 2018 20:40:34 -0000
@@ -16,7 +16,7 @@ CATEGORIES=	net
 HOMEPAGE=	https://transmissionbt.com/
 MAINTAINER=	Josh Grosse <j...@jggimi.net>
 REVISION-gtk=	1
-REVISION-qt=	0
+REVISION-qt=	1
 
 # GPLv2+
 PERMIT_PACKAGE_CDROM=	Yes
Index: patches/patch-qt_qtr_pro
===================================================================
RCS file: /cvs/ports/net/transmission/patches/patch-qt_qtr_pro,v
retrieving revision 1.7
diff -u -p -r1.7 patch-qt_qtr_pro
--- patches/patch-qt_qtr_pro	8 Mar 2016 16:14:16 -0000	1.7
+++ patches/patch-qt_qtr_pro	15 Oct 2018 20:40:34 -0000
@@ -1,6 +1,10 @@
 $OpenBSD: patch-qt_qtr_pro,v 1.7 2016/03/08 16:14:16 naddy Exp $
---- qt/qtr.pro.orig	Mon Jan 25 17:10:14 2016
-+++ qt/qtr.pro	Fri Feb  5 22:07:58 2016
+
+Ensure -lintl is linked to appease lld.
+
+Index: qt/qtr.pro
+--- qt/qtr.pro.orig
++++ qt/qtr.pro
 @@ -8,7 +8,7 @@ target.path = /bin
  INSTALLS += target
  
@@ -15,7 +19,7 @@ $OpenBSD: patch-qt_qtr_pro,v 1.7 2016/03
  LIBS += $${LIBUPNP_LIBS}
  LIBS += $${LIBNATPMP_LIBS}
 -unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt
-+unix: LIBS += -L$${EVENT_TOP}/lib -lz -levent_core -levent_extra
++unix: LIBS += -L$${EVENT_TOP}/lib -lz -levent_core -levent_extra -lintl
  win32:LIBS += -levent-2.0 -lws2_32 -lintl
  win32:LIBS += -lidn -liconv -lwldap32 -liphlpapi
  

Reply via email to