build failures with Sage 10.7beta2

19 views
Skip to first unread message

Marc Culler

unread,
May 8, 2025, 5:03:47 PMMay 8
to sage-release
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

Marc Culler

unread,
May 8, 2025, 5:33:11 PMMay 8
to sage-release
I was able to get the meson log file by running meson build in the scipy src directory.  That revealed the problem, and it was specific to my setup.  It will not affect Sage.  However, I expect that the qhull issue will affect Sage.

- Marc
Reply all
Reply to author
Forward
0 new messages