I have encountered the following build failures on macOS 15 Intel. I am using CMake and gfortran from homebrew.
1. qhull fails to build. The reason is that the CMakeLists.txt has the line:
cmake_minimum_required(VERSION 3.0)
but the homebrew CMake is version 4.0. The error message says that CMake 4.0 no longer supports CMake versions earlier than 3.5. Apparently CMake interprets the minimum requirement as an error, maybe because it suggests the file may not be compatible with version 3.5. Changing the minimum requirement to 4.0 fixes this issue. The subsequent build does not produce any complaints from CMake 4.0.
2. scipy fails to build. This is a multilayered failure. The first layer is that scipy 1.15.2 requires gast 0.6.0 while sage is providing 0.5.4. Updating gast is straightforward and doing so leads to the second layer, where the build fails with this (obviously incorrect) error:
[spkg-install] ../meson.build:80:0: ERROR: Executables created by fortran compiler gfortran are not runnable.
[spkg-install]
[spkg-install] A full log can be found at /tmp/sage-10.7-current/local/var/tmp/sage/build/scipy-1.15.2/src/.mesonpy-v2xc5vhv/meson-logs/meson-log.txt
First of all, the claimed "full log" does not exist. Second, the homebrew gfortran does produce runnable executables. I know that because openblas was already built with it.
So I guess these are meson bugs or meson configuration bugs.
Here are a few relevant lines from the meson.build file:
79 # Adding at project level causes many spurious -lgfortran flags.
80 add_languages('fortran', native: false)
81 ff = meson.get_compiler('fortran')
82 if ff.get_id() == 'gcc'
83 # -std=legacy is not supported by all Fortran compilers, but very useful with
84 # gfortran since it avoids a ton of warnings that we don't care about.
85 # Needs fixing in Meson, see
https://github.com/mesonbuild/meson/issues/11633.
86 add_project_arguments('-std=legacy', language: 'fortran')
87 endif
It may be relevant that the "system" meson is version 1.8.0 while Sage's meson spkg is version 1.7.0.
- Marc