You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In file included from ../../subprojects/freetype-2.6.1/src/gzip/ftgzip.c:65:
In file included from ../../subprojects/freetype-2.6.1/src/gzip/zlib.h:34:
../../subprojects/freetype-2.6.1/src/gzip/zconf.h:228:12: error: unknown type name 'Byte'
228 | typedef Byte FAR Bytef;
| ^
In file included from ../../subprojects/freetype-2.6.1/src/gzip/ftgzip.c:83:
../../subprojects/freetype-2.6.1/src/gzip/inftrees.h:22:7: error: unknown type name 'Byte'
22 | Byte Exop; /* number of extra bits or operation */
| ^
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'arm64-apple-darwin20.0.0-clang++'
so the paths aren't set up properly to find the system clang.
Ah yes, after activating the environment, you can unset CC, CXX, CFLAGS, CXXFLAGS, and LDFLAGS I think, and then recreate your build directory to initialize with the system compiler.
I can unset all of those, but it still chooses arm64-apple-darwin20.0.0-clang which is the mamba clang (etc).
Sorry, I can't really tell what meson is doing to "recreate (my) build directory". This is all using the matplotlib mamba environment, so do we need to be pinning the compiler somehow? Note we ask for c-compiler and cxx-compiler. Should we not?
Sorry, I can't really tell what meson is doing to "recreate (my) build directory".
For an editable install, you would need to delete the build directory; it won't change compilers from environment variables for an existing build.
This is all using the matplotlib mamba environment, so do we need to be pinning the compiler somehow?
Possibly; I'm just unsure what changed. It seems like it was last updated a few weeks ago, but that was for the llvm21 release candidate, and you don't appear to be using that.
Note we ask for c-compiler and cxx-compiler. Should we not?
IIRC, we added these so we could have a self-contained environment on e.g., Windows or in devcontainers or indeed on macOS with Xcode.
#29247 purports to fix this, but unless I manually copy the zconf.h file into the subprojects/freetype-2.6.1/src/gzip directory, freetype will not compile. I found I also have to do
pixi add meson-python meson ninja
and then I had an editable pixi install on my Mac. If I didn't do that it was trying to pull ninja from a cache, and meson-python was not installed.
So I'm not really at all clear on what meson is or how to fix this so it's more turnkey. At least on my system, it seems that the build scripts are not fully robust.
Activity
tacaswell commentedon Aug 28, 2025
which compiler are you using ?
jklymak commentedon Aug 28, 2025
QuLogic commentedon Aug 29, 2025
Can you see if the
text-overhaulbranch (which has FreeType 2.13.3) works better?jklymak commentedon Aug 29, 2025
@QuLogic Yes, that branch installs fine.
QuLogic commentedon Aug 29, 2025
Is that the system compiler, or one that
micromambainstalled? If the latter, can you try removing it or vice versa?jklymak commentedon Aug 29, 2025
Looks to be the micro mamba one:
I don't understand mamba well enough to know how to get the system C++. If I remove
then I get
so the paths aren't set up properly to find the system clang.
QuLogic commentedon Aug 30, 2025
Ah yes, after activating the environment, you can unset
CC,CXX,CFLAGS,CXXFLAGS, andLDFLAGSI think, and then recreate your build directory to initialize with the system compiler.jklymak commentedon Aug 30, 2025
I can unset all of those, but it still chooses
arm64-apple-darwin20.0.0-clangwhich is the mamba clang (etc).Sorry, I can't really tell what meson is doing to "recreate (my) build directory". This is all using the matplotlib mamba environment, so do we need to be pinning the compiler somehow? Note we ask for
c-compilerandcxx-compiler. Should we not?QuLogic commentedon Aug 30, 2025
For an editable install, you would need to delete the
builddirectory; it won't change compilers from environment variables for an existing build.Possibly; I'm just unsure what changed. It seems like it was last updated a few weeks ago, but that was for the llvm21 release candidate, and you don't appear to be using that.
IIRC, we added these so we could have a self-contained environment on e.g., Windows or in devcontainers or indeed on macOS with Xcode.
rongshaohzr-lang commentedon Sep 8, 2025
Do you solve this problem?
jklymak commentedon Sep 8, 2025
Not yet, I haven't had a lot of time. I tried pinning various versions of the micro mamba c compilers but didn't have any luck with that.
jklymak commentedon Oct 17, 2025
Attached is my meson log. This sees to be using the Xcode compilers (versus micro mamba). I got this by doing
pixi initand thenpixi install.meson-log.txt
jklymak commentedon Oct 17, 2025
#29247 purports to fix this, but unless I manually copy the zconf.h file into the
subprojects/freetype-2.6.1/src/gzipdirectory, freetype will not compile. I found I also have to doand then I had an editable pixi install on my Mac. If I didn't do that it was trying to pull ninja from a cache, and meson-python was not installed.
So I'm not really at all clear on what meson is or how to fix this so it's more turnkey. At least on my system, it seems that the build scripts are not fully robust.
To summarize:
If I do
I can run matplotlib from a local pixi environment.
QuLogic commentedon Jun 12, 2026
We no longer use FreeType 2.6.1, and given #31384 (comment), I think this is well enough fixed now.