Answers to your questions are inline below. But I also have a question for you: 
in your LibreOffice build’s ./config_host.mk file, what is MESON= set to? In my 
build it is set to the following:

    MESON=$(call gb_ExternalExecutable_get_command,python) 
/Volumes/LOBuilds/lode/opt/bin/meson

When I did a clean build with Homebrew’s meson 1.9.1 yesterday, it was set to 
the following:

    MESON=/opt/homebrew/opt/bin/meson

Whatever MESON is set to in the ./config_host.mk file is what the Harfbuzz 
build scripts will use.

> On Sep 28, 2025, at 1:29 PM, Chris Sherlock <[email protected]> 
> wrote:
>
> It’s not meson, in fact for this it was never a problem with meson. It’s the 
> latest version of the standard c++ library of llvm that is being used by 
> macOS Tahoe. They changed their warning to an error now - if you use 
> -D_LIBCPP_ENABLE_ASSERTIONS you’ll get the error and it will tell you to use 
> -D_LIBCPP_HARDENING_MODE. Are you using Tahoe to build on macOS? And are you 
> using gcc or clang?

I build on macOS Tahoe 26.0 with Xcode 26.0. I use Xcode’s built-in clang and 
my laptop has an ARM chip.

Also, I use LibreOffice LODE 
(https://wiki.documentfoundation.org/Development/lode)  instead of Homebrew to 
get all of the external build tools. I have had problems building with Homebrew 
in my $PATH since macOS Sonoma so I exclude Homebrew from my $PATH when 
building LibreOffice.

I am no meson expert but I ran into this same issue when I upgraded my laptop 
to macOS Tahoe Public Beta this last summer. The Harfbuzz build broke due to 
some undefined  _LIBCPP macro like you see (i.e. the macOS Tahoe change) so I 
just upgraded the LibreOffice LODE repo to the old version of meson (i.e. 
1.8.3) which handled this macOS Tahoe change and I haven’t had any problems 
building Harfbuzz since then.

>
> When you look at the compile_commands.json does it show the new 
> _LIBCPP_HARDENING_MODE or does it use _LIBCPP_ENABLE_ASSERTIONS?

Yes, it shows the new _LIBCPP_HARDENING_MODE define. In 
./workdir/UnpackedTarball/harfbuzz/builddir/compile_commands.json I see 
_LIBCPP_HARDENING_MODE. Below is a snippet from that Harfbuzz build file.

  {
    "directory": 
"/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/harfbuzz/builddir",
    "command": "/Volumes/LOBuilds/lode/opt/bin/ccache 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
 -target arm64-apple-macos -stdlib=libc++ -mmacosx-version-min.0 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk
 -Isrc/libharfbuzz.a.p -Isrc -I../src -I. -I.. 
-I/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/graphite/include 
-I/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/icu/source/i18n 
-I/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/icu/source/common 
-fvisibility=hidden -fdiagnostics-color=always 
-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST -Wall -Winvalid-pch 
-fno-exceptions -std=c++20 -O3 -fno-exceptions -fno-rtti 
-fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H 
-DGRAPHITE2_STATIC -MD -MQ src/libharfbuzz.a.p/hb-aat-layout.cc.o -MF 
src/libharfbuzz.a.p/hb-aat-layout.cc.o.d -o 
src/libharfbuzz.a.p/hb-aat-layout.cc.o -c ../src/hb-aat-layout.cc",
    "file": "../src/hb-aat-layout.cc",
    "output": "src/libharfbuzz.a.p/hb-aat-layout.cc.o"
  },

> And do we have any buildbots using macOS Tahoe yet?

Last I heard, the nightly and release builds are built on macOS Sonoma. AFAICT, 
I’ve been the only one building on macOS Tahoe and now you are likely now the 
second person. :)

Patrick

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to