'; }
Bug 292128 - make index needs llvm19
Summary: make index needs llvm19
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jean-Sébastien Pédron
URL:
Keywords:
: 292505 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-01-02 10:11 UTC by Trond Endrestøl
Modified: 2026-01-23 15:57 UTC (History)
7 users (show)

See Also:
dumbbell: maintainer-feedback+


Attachments
build log without USES=llvm (46.18 KB, application/x-xz)
2026-01-23 13:09 UTC, Piotr Kubaj
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Trond Endrestøl 2026-01-02 10:11:32 UTC
These warnings are emitted during make index:

sh: /usr/local/llvm19/bin/clang: not found
make[4]: "/usr/ports/Mk/Uses/compiler.mk" line 86: warning: "/usr/local/llvm19/bin/clang --version" returned non-zero status
make[4]: "/usr/ports/Mk/Uses/compiler.mk" line 134: warning: "/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" returned non-zero status
Comment 1 Trond Endrestøl 2026-01-02 15:01:59 UTC
While checking another system, I learned these warnings are somewhere in the graphics category.

--- describe.graphics ---
/rescue/sh: /usr/local/llvm19/bin/clang: not found
make[4]: /usr/ports/Mk/Uses/compiler.mk:86: warning: Command "/usr/local/llvm19/bin/clang --version" exited with status 127
make[4]: /usr/ports/Mk/Uses/compiler.mk:134: warning: Command "/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" exited with status 127
 Done.
Comment 3 Mark Linimon freebsd_committerfreebsd_triage 2026-01-03 00:59:36 UTC
===> darktable
sh: /usr/local/llvm19/bin/clang: not found
make[1]: "/home/freebsd/freebsd-ports/Mk/Uses/compiler.mk" line 86: warning: "/usr/local/llvm19/bin/clang --version" returned non-zero status
make[1]: "/home/freebsd/freebsd-ports/Mk/Uses/compiler.mk" line 134: warning: "/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" returned non-zero status
Comment 4 Wolfram Schneider freebsd_committerfreebsd_triage 2026-01-17 10:18:16 UTC
I still get these warnings. Any updates on this issue?
Comment 5 Herbert J. Skuhra 2026-01-18 09:45:11 UTC
(In reply to Wolfram Schneider from comment #4)
The following patch silences portlint in graphics/darktable and 'make index':

diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 1dc5eb14e03f..c8d11bc7d96a 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -104,6 +104,8 @@ PLIST_SUB+= NO_OPENCL="@comment "
 PLIST_SUB+=    NO_OPENCL=""
 .endif
 
+.include <bsd.port.pre.mk>
+
 .if ${ARCH} == powerpc64le
 LDFLAGS+=      -lexecinfo
 USES+=         compiler:gcc-c++11-lib
@@ -111,8 +113,6 @@ USES+=              compiler:gcc-c++11-lib
 USES+=         compiler:c++11-lib
 .endif
 
-.include <bsd.port.pre.mk>
-
 # work around CMAKE/CCACHE flaw (cmake stomps over ccache)
 .if "${WITH_CCACHE_BUILD}" == "yes" && !defined(NO_CCACHE)
 CMAKE_ARGS+=   -DCMAKE_C_COMPILER_LAUNCHER=${CCACHE_BIN} \

The following still works:
$ env ARCH=powerpc64le make -VUSES
cmake desktop-file-utils gl gnome jpeg llvm:build lua perl5  pkgconfig sdl shebangfix sqlite tar:xz xorg gettext compiler:gcc-c++11-lib
$ make -VUSES
cmake desktop-file-utils gl gnome jpeg llvm:build lua perl5  pkgconfig sdl shebangfix sqlite tar:xz xorg gettext compiler:c++11-lib
Comment 6 Herbert J. Skuhra 2026-01-18 15:39:52 UTC
But why is the warning only displayed on some systems?
And 'make V=1 index" shows even more weird messages:

make_index: ipxe-g20250401,1: no entry for /usr/ports/lang/gcc1
make_index: ipxe-g20250401,1: no entry for /usr/ports/lang/gcc1
make_index: gretl-2024d_2: no entry for /usr/ports/lang/gcc1
make_index: gretl-2024d_2: no entry for /usr/ports/lang/gcc1
make_index: tigcc-0.96.b8_11: no entry for /usr/ports/lang/gcc1
make_index: tigcc-0.96.b8_11: no entry for /usr/ports/lang/gcc1
[...]

No idea where it gets gcc1 from.
Comment 7 Herbert J. Skuhra 2026-01-18 16:33:08 UTC
(In reply to Herbert J. Skuhra from comment #6)
Sorry, please ignore the 2nd part of my previous message (no entry for gcc1). :-(
Comment 8 Jean-Sébastien Pédron freebsd_committerfreebsd_triage 2026-01-19 10:25:21 UTC
I can’t reproduce the problem with `make index` on my local Ports tree copy.

Is it with some specific architecture? Any step I am missing?
Comment 9 Wolfram Schneider freebsd_committerfreebsd_triage 2026-01-19 10:40:47 UTC
(In reply to Jean-Sébastien Pédron from comment #8)

I get this problem on all supported FreeBSD releases (stable 13/14/15 current) on intel and arm if llvm19 is *not* installed on the local machine.

$ pkg info llvm19
pkg: No package(s) matching llvm19

$ /usr/local/llvm19/bin/clang
sh: /usr/local/llvm19/bin/clang: not found
Comment 10 Herbert J. Skuhra 2026-01-19 12:01:24 UTC
Has anyone tried the patch in comment #5? Is it wrong?
Yes, this a general issue (main, stable15, amd64/aarch64)
I didn't get error on some systems because a different version of llvm was installed and DEFAULT_VERSION+= llvm=XX was used.
Comment 11 Einar Bjarni Halldórsson 2026-01-19 12:17:36 UTC
*** Bug 292505 has been marked as a duplicate of this bug. ***
Comment 12 Mark Linimon freebsd_committerfreebsd_triage 2026-01-19 13:55:45 UTC
(In reply to Wolfram Schneider from comment #9)
If this is the same kind of problem I used to fight, the clue is to understand
where in bsd.*.mk variables are defined.

If you use variables that are only defined in bsd.port.pre.mk and you haven't
included that file yet, wierd things can happen.  And 'make -V' will lie to
you, because it will give you the values the variables have after the entire
Makefile has run, including bsd.port.post.mk.  So careful examination of
bsd.port.pre.mk and whatever it brings in, is recommended.
Comment 13 Wolfram Schneider freebsd_committerfreebsd_triage 2026-01-19 15:34:03 UTC
(In reply to Herbert J. Skuhra from comment #10)

The patch looks good, moving .include <bsd.port.pre.mk> some lines up in graphics/darktable/Makefile solves the problem for me.
Comment 14 Jean-Sébastien Pédron freebsd_committerfreebsd_triage 2026-01-19 17:57:46 UTC
I didn’t try your patch,  Herbert J. Skuhra, yet, as I wanted to find something more specific, based on Mark Linimon’s comment.

Here is what I came up with:

---8<---
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 1dc5eb14e03f..0518786fa1b5 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -42,8 +42,10 @@ LIB_DEPENDS=	libavif.so:graphics/libavif \
 		libtiff.so:graphics/tiff \
 		libwebp.so:graphics/webp
 
-USES=		cmake desktop-file-utils gl gnome jpeg llvm:build lua perl5 \
-		pkgconfig sdl shebangfix sqlite tar:xz xorg
+# Note that compiler-related Uses are defined later in this Makefile, based on
+# the value of `${ARCH}`.
+USES=		cmake desktop-file-utils gl gnome jpeg lua perl5 pkgconfig sdl \
+		shebangfix sqlite tar:xz xorg
 USE_GL=		gl
 USE_GNOME=	cairo gtk30 intltool librsvg2 libxml2
 USE_LDCONFIG=	${PREFIX}/lib/${PORTNAME}
@@ -110,6 +112,12 @@ USES+=		compiler:gcc-c++11-lib
 .else
 USES+=		compiler:c++11-lib
 .endif
+# `llvm:build` must be added after `compiler:*` above. Otherwise it triggers
+# the following warning from Mk/compiler.mk:
+#
+#     make: .../Mk/Uses/compiler.mk:86: warning: Command "/usr/local/llvm19/bin/clang --version" exited with status 127
+#     make: .../Mk/Uses/compiler.mk:134: warning: Command "/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" exited with status 127
+USES+=		llvm:build
 
 .include <bsd.port.pre.mk>
 
---8<---

Apparently, the order in USES= is significant for the compiler-related Uses. If `llvm:build` is added after `compiler:*`, the warning is gone. I’m building the port in Poudriere to confirm.

The initial order was based on alphabetical order, so `compiler:*` was before `llvm:*` by chance. After the fix in https://cgit.freebsd.org/ports/commit/?id=ea8d13f6c1020424c8e6bae5c9ffd8a002717275, `compiler:*` was added after.
Comment 15 Trond Endrestøl 2026-01-21 09:56:28 UTC
(In reply to Jean-Sébastien Pédron from comment #14)
I've just verified placing USES=llvm_build after USES=compiler:* for graphics/darktable silences the error messages I've seen lately.

diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 1dc5eb14e03f..04c18dc94e3d 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -42,7 +42,7 @@ LIB_DEPENDS=		libavif.so:graphics/libavif \
 		libtiff.so:graphics/tiff \
 		libwebp.so:graphics/webp

-USES=		cmake desktop-file-utils gl gnome jpeg llvm:build lua perl5 \
+USES=		cmake desktop-file-utils gl gnome jpeg lua perl5 \
 		pkgconfig sdl shebangfix sqlite tar:xz xorg
 USE_GL=	gl
 USE_GNOME=	cairo gtk30 intltool librsvg2 libxml2
@@ -110,6 +110,7 @@ USES+=		compiler:gcc-c++11-lib
 .else
 USES+=		compiler:c++11-lib
 .endif
+USES+=		llvm:build

 .include <bsd.port.pre.mk>

root@freebsd-main-zfs:~ # make -C /usr/ports index ; echo ; date
Generating INDEX-16 - please wait ...
--- describe.accessibility ---
--- describe.arabic ---
--- describe.archivers ---
--- describe.astro ---
--- describe.audio ---
--- describe.benchmarks ---
--- describe.biology ---
--- describe.cad ---
--- describe.chinese ---
--- describe.comms ---
--- describe.converters ---
--- describe.databases ---
--- describe.deskutils ---
--- describe.devel ---
--- describe.dns ---
--- describe.editors ---
--- describe.emulators ---
--- describe.finance ---
--- describe.french ---
--- describe.filesystems ---
--- describe.ftp ---
--- describe.games ---
--- describe.german ---
--- describe.graphics ---
--- describe.hebrew ---
--- describe.hungarian ---
--- describe.irc ---
--- describe.japanese ---
--- describe.java ---
--- describe.korean ---
--- describe.lang ---
--- describe.mail ---
--- describe.math ---
--- describe.misc ---
--- describe.multimedia ---
--- describe.net ---
--- describe.net-im ---
--- describe.net-mgmt ---
--- describe.net-p2p ---
--- describe.news ---
--- describe.polish ---
--- describe.ports-mgmt ---
--- describe.portuguese ---
--- describe.print ---
--- describe.russian ---
--- describe.science ---
--- describe.security ---
--- describe.shells ---
--- describe.sysutils ---
--- describe.textproc ---
--- describe.ukrainian ---
--- describe.vietnamese ---
--- describe.www ---
--- describe.x11 ---
--- describe.x11-clocks ---
--- describe.x11-drivers ---
--- describe.x11-fm ---
--- describe.x11-fonts ---
--- describe.x11-servers ---
--- describe.x11-themes ---
--- describe.x11-toolkits ---
--- describe.x11-wm ---
--- describe.local ---
 Done.
Wed Jan 21 10:53:51 CET 2026
root@freebsd-main-zfs:~ #
Comment 16 Herbert J. Skuhra 2026-01-21 10:09:04 UTC
Stupid question: Is llvm:build really needed when ARCH == powerpc64le or can it be added to the line "USES+= compiler:c++11-lib" as well?
Comment 17 Trond Endrestøl 2026-01-22 18:20:11 UTC
(In reply to Herbert J. Skuhra from comment #16)
The relevant snippet of the Makefile looks like this:

.if ${ARCH} == powerpc64le
LDFLAGS+=       -lexecinfo
USES+=          compiler:gcc-c++11-lib
.else
USES+=          compiler:c++11-lib
.endif
USES+=          llvm:build

While we could add llvm:build after compiler:* on lines 3 and 5 above, it's more functionally correct to add it in the end. Or, maybe I misunderstood your question.
Comment 18 commit-hook freebsd_committerfreebsd_triage 2026-01-22 21:14:36 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=50e6dae0b7b2bbf3c62ed7fe7bf5df76bd128391

commit 50e6dae0b7b2bbf3c62ed7fe7bf5df76bd128391
Author:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
AuthorDate: 2026-01-22 21:07:57 +0000
Commit:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
CommitDate: 2026-01-22 21:07:57 +0000

    graphics/darktable: Add `llvm:build` after `compiler:*` in USES=

    The move of `USES+=compiler:*` later in the file to be able to check
    `${ARCH}` apparently triggered the following warning:

        make: .../Mk/Uses/compiler.mk:86: warning: Command "/usr/local/llvm19/bin/clang --version" exited with status 127
        make: .../Mk/Uses/compiler.mk:134: warning: Command "/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" exited with status 127

    It looks like the order of `compiler:*` and `llvm:*` is important.
    Moving the addition of `llvm:compiler` after `compiler:*` was added
    conditionally fixes that warning.

    PR:             292128
    Reported by:    Trond Endrestøl <Trond.Endrestol@ximalas.info>
    Tested by:      Trond Endrestøl <Trond.Endrestol@ximalas.info>,
                    Herbert J. Skuhra <herbert@gojira.at>

 graphics/darktable/Makefile | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
Comment 19 Jean-Sébastien Pédron freebsd_committerfreebsd_triage 2026-01-22 21:19:32 UTC
I committed the patch. I couldn't reproduce the problem with it.

Thank you for the initial report, patches and tests!
Comment 20 Herbert J. Skuhra 2026-01-22 21:37:35 UTC
(In reply to Trond Endrestøl from comment #17)

The question was if the following would work too:

.if ${ARCH} == powerpc64le
LDFLAGS+=       -lexecinfo
USES+=          compiler:gcc-c++11-lib
.else
USES+=          compiler:c++11-lib llvm:build
.endif

Doesn't gcc-c++11-lib imply USE_GCC? Why is llvm from port needed on powerpc64le too?
Comment 21 Trond Endrestøl 2026-01-23 12:59:05 UTC
(In reply to Herbert J. Skuhra from comment #20)
Your change has shown no adverse effects on amd64.
Can someone running powerpc64le verify if that platform need llvm alongside gcc when building this port?
Comment 22 Piotr Kubaj freebsd_committerfreebsd_triage 2026-01-23 13:09:59 UTC
Created attachment 267411 [details]
build log without USES=llvm

(In reply to Trond Endrestøl from comment #21)
LLVM is not needed. I attached a build log with:
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 0518786fa1b5..2c188c0a5f28 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -111,13 +111,13 @@ LDFLAGS+= -lexecinfo
 USES+=         compiler:gcc-c++11-lib
 .else
 USES+=         compiler:c++11-lib
-.endif
 # `llvm:build` must be added after `compiler:*` above. Otherwise it triggers
 # the following warning from Mk/compiler.mk:
 #
 #     make: .../Mk/Uses/compiler.mk:86: warning: Command "/usr/local/llvm19/bin/clang --version" exited with status 127
 #     make: .../Mk/Uses/compiler.mk:134: warning: Command "/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" exited with status 127
 USES+=         llvm:build
+.endif
 
 .include <bsd.port.pre.mk>
Comment 23 Trond Endrestøl 2026-01-23 15:57:46 UTC
(In reply to Piotr Kubaj from comment #22)
Excellent. Maybe the committer would be so kind to commit the proposal found in comment 20.