Yes, but I figured it out (I think).  Just a stupid mistake on my part.
Somehow the libgfortran that got installed in Sage was the one for x86_64
not arm64.  And that is what meson was trying to use to build scipy.

There is an important lesson here, though.  The problem was obvious once I
managed to get the meson log file.  But the default behavior for meson is
to put the log file in a temp directory and then delete the directory
whether or not the build succeeds.  Sounds unbelievable, but it seems to be
true.  The magic trick is to edit spkg-install.in to replace the line:
sdh_pip_install --no-build-isolation .
with
sdh_pip_install --no-build-isolation --config-settings build-dir=build .
The effect of that is to make meson write the log file into a directory
named build inside the spkg src directory so that you can actually read the
log file.  Since Sage deletes the whole build directory anyway, there is no
reason to create a temp directory inside of the build directory which is
already a temp directory itself.  And the meson log file is actually
extremely helpful.

SUGGESTION: add the option --config-settings build-dir=build to all
spkgs which build with meson.

- Marc

On Sun, Sep 28, 2025 at 6:43 PM Dima Pasechnik <[email protected]> wrote:

> Hi Marc,
> you know the drill - please post config.log and the scipy spkg install log.
>
> It would also help to know where your gfortran is coming, as the logs are
> sometimes not very helpful.
>
>
> On September 28, 2025 5:43:28 PM CDT, Marc Culler <[email protected]>
> wrote:
>
>> I am not able to build the scipy spkg with 10.8beta5 on macOS arm.  The
>> build fails with a bogus error like "fortran compiler cannot generate
>> code".  I say it is bogus because (a) the same gfortran worked fine to
>> build openblas and (b) it also works fine to build scipy if I set my PATH
>> to include sage/local/bin and run `pip wheel .` in the scipy spkg src
>> directory.  But if I follow the recommended procedure to setup the sage
>> build environment and change to the scipy src directory then running bash
>> spkg-install fails with the same bogus error about gfortran.  So some
>> variable is being set in the sage build environment that breaks gfortram.
>>
>> I thought I might be able to build the wheel and install it with Sage's
>> pip and then use configure args -enable-system-site-packages and
>> -with-system-scipy=yes.  (My "system" is located in sage/local/lib.).  That
>> appeared to work.  The config.log says:
>>     real_configure:92110: will use system package and not install SPKG
>> scipy
>> However, that turns out to be a lie.  When I run make build it tries to
>> build the scipy spkg, anyway and that fails with the same bogus error.
>>
>> Any insights would be very welcome!
>>
>> - Marc
>>
>> On Saturday, September 27, 2025 at 3:24:39 PM UTC-5 Volker Braun wrote:
>>
>>> As always, you can get the latest beta version from the "develop" git
>>> branch. Alternatively, the self-contained source tarball is at
>>> http://www.sagemath.org/download-latest.html
>>>
>>> This now lets you build Sage from a clean repo again
>>>
>>> f4adc250dcc (HEAD -> develop, tag: 10.8.beta5, github/develop,
>>> github/HEAD) Updated SageMath version to 10.8.beta5
>>> 0ef31d1493e (origin/develop) gh-40877: Revert gh-40765 which breaks
>>> builds from the git repo
>>> c76e5732904 gh-40881: sage.categories.finite_fields: don't import from
>>> integer_ring
>>> 73534d061e3 gh-40880: update mypy config
>>> 2d7ac649b9b gh-40879:
>>> sage.rings.polynomial.polynomial_singular_interface: drop unused import
>>> f933e1b77aa gh-40865: some typing -> bool for is_* methods
>>> 3f910e456b5 gh-40864: remove deprecated function in plot3d/texture
>>> ca525df620d gh-40863: remove a deprecated alias in quadratic forms
>>> 418f3e9c7a4 gh-40862: remove deprecated aliases in real_set
>>> 32f6fc6e175 gh-40861: removed some deprecations in structure
>>> 451f8873b7e gh-40860: some care for pbori
>>> 36741a523fc gh-40858: Fix const polynomial conversion to Singular
>>> interface
>>> 42c4f72447d gh-40857: Fix pdf docbuild failure if destination file exists
>>> 487663cccbc gh-40856: Workaround for linbox charpoly/minpoly issues
>>> d25b9f144b9 gh-40853: adding a note on Coxeter polynomials
>>> 9ef52039751 gh-40852: clean and annotate _gap_init_ -> str
>>> b1492b466ce gh-40851: add some -> tuple annotations
>>> 2e4ef691f0d gh-40843: Restore release notes creation step
>>> b0b0395810b gh-40839: Fix in label synchronization bot according to
>>> issue #40758
>>> 3efb3f4181c gh-40814: Rerun plural and singular/function on failure
>>> 26c168c736d gh-40810: Implement is_hyperelliptic
>>> 85f65571f75 gh-40795: Fixing a bug in permuted basement NS Macdonalds
>>> and some cleanup
>>> 5eebf97feec gh-40755: cli: print full backtrace if there is an exception
>>> when running a file
>>> ddfdc3e24f8 gh-40746: Print full relative path for sage-runtests
>>> d12a97eccb2 gh-40678: Fix pytest collection
>>> a8914f81934 gh-40618: ⬆️ Bump jakebailey/pyright-action from 2.3.2 to
>>> 2.3.3
>>> 83b52a79bab (tag: 10.8.beta4) Updated SageMath version to 10.8.beta4
>>>
>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sage-release" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sage-release/6hW5ZBQj_Uc/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/sage-release/925E8923-34E5-433F-8376-5AC61AE1296D%40gmail.com
> <https://groups.google.com/d/msgid/sage-release/925E8923-34E5-433F-8376-5AC61AE1296D%40gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CALcZXRHpLDUYgLUF8FGHE7EXPJYdC5XoQYg3L4VDj0uVYjpvgA%40mail.gmail.com.

Reply via email to