Re: problem with ... make?

From: Mark Millard <marklmi_at_yahoo.com>
Date: Wed, 04 Oct 2023 15:34:26 UTC
[Resend: I missed sending to the list.]

Robert Huff <roberthuff_at_rcn.com> wrote on
Date: Wed, 04 Oct 2023 12:46:25 UTC :

> [I sent a version of this to ports@ ... had no response
> ... trying here because there's now a large back log of ports
> updates.]
> 
> On a system running:
> 
> FreeBSD 14.0-CURRENT #0 main-f0a15aafcb
> Mon Oct 31 08:19:54 EDT 2022
> amd64
> 
> with the ports tree updated nightly, I suddenly have a problen
> building ports. 
> Sample case:
> 
> root@> pd /usr/ports/www/chromium/
> root@> make clean
> make[2]: "/usr/ports/Mk/Uses/objc.mk" line 57: String comparison operator must be either == or !=
> make[2]: Fatal errors encountered -- cannot continue
> ===> Cleaning for chromium-117.0.5938.132_1
> root@>
> . . .

The error message matches the file line 57 in my environment
if COMPILER_VERSION or OBJC_CLANG_VERSION is not such that it
would be treated as numeric on expansion. Note the "<" in:

# We do always need clang and prefer a recent version
.  if (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < ${OBJC_CLANG_VERSION}) || ${COMPILER_TYPE} != clang

I see:

/usr/ports/Mk/Uses/objc.mk:OBJC_CLANG_VERSION= ${LLVM_DEFAULT}

and the comments for LLVM_DEFAULT in Mk/bsd.default-versions.mk indicate:

# Possible values: 10, 11, 12, 13, 14, 15, 16, 17, -devel (to be used when non-base compiler is required)

So for LLVM_DEFAULT being -devel the error message makes sense.


===
Mark Millard
marklmi at yahoo.com