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