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

On Thursday, May 8, 2025 at 4:03:47 PM UTC-5 Marc Culler wrote:

> 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
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-release" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/sage-release/67570f89-2e14-4c5c-96ad-c7df0004a9f5n%40googlegroups.com.

Reply via email to