Summary: | app-emulation/libvirt: build failure with LLD 16 (ERROR: Problem encountered: No supported version script link argument found.) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sam James <sam> |
Component: | Current packages | Assignee: | Matthias Maier <tamiko> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | michal.privoznik, virtualization |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://github.com/gentoo/gentoo/pull/30284 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 731004, 870412 | ||
Attachments: |
build.log
meson-log.txt |
Description
Sam James
2023-03-20 01:48:21 UTC
Created attachment 858423 [details] meson-log.txt This is caused/exposed by https://reviews.llvm.org/D135402: ``` Compiler stderr: ld.lld: error: version script assignment of 'LIBVIRT_QEMU_0.8.3' to symbol 'virDomainQemuMonitorCommand' failed: symbol not defined ld.lld: error: version script assignment of 'LIBVIRT_QEMU_0.9.4' to symbol 'virDomainQemuAttach' failed: symbol not defined ld.lld: error: version script assignment of 'LIBVIRT_QEMU_0.10.0' to symbol 'virDomainQemuAgentCommand' failed: symbol not defined ld.lld: error: version script assignment of 'LIBVIRT_QEMU_1.2.3' to symbol 'virConnectDomainQemuMonitorEventDeregister' failed: symbol not defined ld.lld: error: version script assignment of 'LIBVIRT_QEMU_1.2.3' to symbol 'virConnectDomainQemuMonitorEventRegister' failed: symbol not defined ld.lld: error: version script assignment of 'LIBVIRT_QEMU_8.2.0' to symbol 'virDomainQemuMonitorCommandWithFiles' failed: symbol not defined clang-16: error: linker command failed with exit code 1 (use -v to see invocation) Compiler for C supports link arguments -Wl,--version-script=/var/tmp/portage/app-emulation/libvirt-8.9.0-r1/work/libvirt-8.9.0/src/libvirt_qemu.syms: NO meson.build:521:4: ERROR: Problem encountered: No supported version script link argument found. ``` This is a genuine libvirt bug. I've posted a fix here: https://listman.redhat.com/archives/libvir-list/2023-March/238923.html (In reply to Michal Prívozník from comment #2) > This is a genuine libvirt bug. I've posted a fix here: > > https://listman.redhat.com/archives/libvir-list/2023-March/238923.html Thanks for fixing it so quickly Michal. Would you mind pulling that into gentoo too? (In reply to Sam James from comment #3) > Thanks for fixing it so quickly Michal. Would you mind pulling that into > gentoo too? Sure thing! Once the patch gets merged (there was an alternative approach suggested in the review), I'll backport it. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb55416d6844769391476f78aaff25c6b6bee090 commit bb55416d6844769391476f78aaff25c6b6bee090 Author: Michal Privoznik <michal.privoznik@gmail.com> AuthorDate: 2023-03-21 11:04:06 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-03-21 19:18:32 +0000 app-emulation/libvirt: Fix a build failure with LLD 16 With the newest LLD, the libvirt's detection of --version-script= linker argument works no more. Backport the upstream patch that fixes the issue. Since the patch is merged and is going to be contained in the upcoming release, there's no point in adding it to the list of patched in the live ebuild. Append it only into the older versions then. Also, I had to rebase the patch for older version of libvirt, because the patched file (meson.build) looked a bit different and the upstream patch did not apply cleanly. Closes: https://bugs.gentoo.org/902211 Signed-off-by: Michal Privoznik <michal.privoznik@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/30284 Signed-off-by: Sam James <sam@gentoo.org> ....0-meson-Stop-detecting-Wl-version-script.patch | 55 ++++++++++++++++++++++ ....0-meson-Stop-detecting-Wl-version-script.patch | 53 +++++++++++++++++++++ app-emulation/libvirt/libvirt-8.7.0-r1.ebuild | 1 + app-emulation/libvirt/libvirt-8.8.0-r1.ebuild | 1 + app-emulation/libvirt/libvirt-8.9.0-r1.ebuild | 1 + app-emulation/libvirt/libvirt-8.9.0.ebuild | 1 + 6 files changed, 112 insertions(+) |