Summary: | graphics/libjxl: fails to build when base built WITH_LLVM_BINUTILS | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Ed Maste <emaste> |
Component: | Individual Port(s) | Assignee: | Ed Maste <emaste> |
Status: | Closed Not A Bug | ||
Severity: | Affects Only Me | CC: | 2khramtsov |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(jbeich) |
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any | ||
See Also: |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270956 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270959 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270957 |
||
Bug Depends on: | |||
Bug Blocks: | 258872 |
Description
Ed Maste
2023-04-20 17:54:59 UTC
misc/astc-encoder fails the same way: CMAKE_CXX_COMPILER_RANLIB-NOTFOUND: not found I guess there is some standard cmake idiom for ranlib search that's failing Build fails only when the LTO option is on (default). Note, HardenedBSD -CURRENT switched to LLVM binutils earlier, and applied workaround: https://github.com/HardenedBSD/ports/commit/6074fa0ef643 (In reply to Ed Maste from comment #1) > I guess there is some standard cmake idiom for ranlib search that's failing See /usr/local/share/cmake/Modules/CMakeFindBinUtils.cmake LTO requires "llvm-ranlib", so try the following: diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index a6a480bce359..3718248f5de9 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -15,8 +15,8 @@ LIBADD+= z LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/llvm-ranlib .if ${MK_LLVM_BINUTILS} != "no" -LINKS= ${BINDIR}/llvm-ar ${BINDIR}/ar ${BINDIR}/llvm-ar ${BINDIR}/ranlib -MLINKS= llvm-ar.1 ar.1 llvm-ar.1 ranlib.1 +LINKS+= ${BINDIR}/llvm-ar ${BINDIR}/ar ${BINDIR}/llvm-ar ${BINDIR}/ranlib +MLINKS+= llvm-ar.1 ar.1 llvm-ar.1 ranlib.1 .endif .include "../llvm.prog.mk" (In reply to Jan Beich from comment #3) Thanks, and sorry I missed that. It seems I still had llvm-ranlib on my WITH_LLVM_BINUTILS test machine from the original install, so did not notice that it was missing. I found llvm-symbolizer had the same issue (for llvm-addr2line) and created a review in https://reviews.freebsd.org/D39747. A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=41df1d60e3237df2106dddf357e3205bf29f85d5 commit 41df1d60e3237df2106dddf357e3205bf29f85d5 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2023-04-21 13:11:45 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2023-04-21 16:49:05 +0000 llvm: fix some llvm-* tool links when WITH_LLVM_BINUTILS is set A few Makefiles overrode LINKS and MLINKS when WITH_LLVM_BINUTILS was set, which caused some llvm- prefixed tools to disappear. One such case was llvm-ranlib, which some ports invoke explicitly. Use += when adding to LINKS and MLINKS under WITH_LLVM_BINUTILS. PR: 270955, 270956, 270959 Submitted by: jbeich Reviewed by: arichardson Fixes: 021385aba562 ("Add WITH_LLVM_BINUTILS to install LLVM binuti...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39747 usr.bin/clang/llvm-ar/Makefile | 4 ++-- usr.bin/clang/llvm-nm/Makefile | 4 ++-- usr.bin/clang/llvm-size/Makefile | 4 ++-- usr.bin/clang/llvm-symbolizer/Makefile | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) Port builds fine here in poudriere pkgbase jail with WITH_LLVM_BINUTILS and LTO=on after base 41df1d60e323. x11/swayimg also displays JXL images. Thanks. (In reply to throwaway_vthgwq4 from comment #6) Thanks for testing and confirming. Closing as "not a bug" (in graphics/libjxl). A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3b63f0b7067129ec7a75b9324acf4ded30d8fc44 commit 3b63f0b7067129ec7a75b9324acf4ded30d8fc44 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2023-04-21 13:11:45 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2023-04-27 17:03:26 +0000 llvm: fix some llvm-* tool links when WITH_LLVM_BINUTILS is set A few Makefiles overrode LINKS and MLINKS when WITH_LLVM_BINUTILS was set, which caused some llvm- prefixed tools to disappear. One such case was llvm-ranlib, which some ports invoke explicitly. Use += when adding to LINKS and MLINKS under WITH_LLVM_BINUTILS. PR: 270955, 270956, 270959 Submitted by: jbeich Reviewed by: arichardson Fixes: 021385aba562 ("Add WITH_LLVM_BINUTILS to install LLVM binuti...") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39747 (cherry picked from commit 41df1d60e3237df2106dddf357e3205bf29f85d5) usr.bin/clang/llvm-ar/Makefile | 4 ++-- usr.bin/clang/llvm-nm/Makefile | 4 ++-- usr.bin/clang/llvm-size/Makefile | 4 ++-- usr.bin/clang/llvm-symbolizer/Makefile | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) |