From http://package18.nyi.freebsd.org/data/headamd64PR214864cxx98-default/2018-05-29_20h14m12s/logs/errors/kopete-18.04.1.log /usr/bin/ld: error: duplicate symbol: JDnsShutdown::qt_metacall(QMetaObject::Call, int, void**) >>> defined at moc_qjdnsshared_p.cxx >>> moc_qjdnsshared_p.cxx.o:(JDnsShutdown::qt_metacall(QMetaObject::Call, int, void**)) in archive protocols/jabber/libiris/libiris_kopete.a >>> defined at mocs_compilation.cpp >>> mocs_compilation.cpp.o:(.text+0xB0F0) in archive protocols/jabber/libiris/libiris_kopete.a
My best guess is that this is a fallout from /usr/bin/ld now being lld 6.0 on current?
(In reply to Tobias C. Berner from comment #1) It was found during the exp-run prior to becoming the default (but it seems I missed recording that in this PR). We may be able to work around it by setting LLD_UNSAFE=yes to use GNU ld but ought to identify the underlying cause.
A commit references this bug: Author: tcberner Date: Sun Jun 10 15:40:25 UTC 2018 New revision: 472144 URL: https://svnweb.freebsd.org/changeset/ports/472144 Log: net-im/kopete: add work-around to fix build on current PR: 228640 Submitted by: emaste Changes: head/net-im/kopete/Makefile
Should be fine.
Kopete's build system is still "broken" in the sense that some files rely on automated moc processing by including "foo.moc" in the source code, and some do not, so the build system also relies on QT_WRAP_CPP() to process some additional files, so we end up with the moc-generated code in both moc_foo.cxx and mocs_compilation.cpp (which contains moc-generate code not included directly by any source files). However, I've just tried building without LLD_UNSAFE=yes on 12.0 and HEAD and both worked fine. I guess lld has gotten smarter since this bug was filed?
(In reply to Raphael Kubo da Costa from comment #5) > I guess lld has gotten smarter since this bug was filed? Or the original problem was just lld being more strict about a bug which has since been fixed upstream. In any case if it now builds with lld the LLD_UNSAFE can be removed.
I've sent https://phabricator.kde.org/D24609 upstream, and will just remove LLD_UNSAFE=yes in the port for now.
A commit references this bug: Author: rakuco Date: Sun Oct 13 14:04:02 UTC 2019 New revision: 514392 URL: https://svnweb.freebsd.org/changeset/ports/514392 Log: Drop LLD_UNSAFE=yes. The port is building fine on 12.0 and HEAD without setting this. The port's build system is still wrong (i.e. the port still builds the same moc-generate code in duplicate files), but lld seems to handle this case well. A proper fix was sent upstream in https://phabricator.kde.org/D24609. I am not bumping PORTREVISION because this only changes build dependencies. PR: 228640 Changes: head/net-im/kopete/Makefile