On Mon, Apr 14, 2025 at 12:33 PM John H Palmieri <jhpalmier...@gmail.com>
wrote:

> It seems that the most recent version of patch in homebrew no longer
> provides automatic access to a binary "patch" (which I think it used to
> do); instead it says
>
>     If you need to use it as "patch", you can add a "gnubin" directory
>     to your PATH from your bashrc like:
>
>         PATH="/opt/homebrew/opt/gpatch/libexec/gnubin:$PATH"
>
> If I make that change to PATH, then I see
>
> % patch --version
> GNU patch 2.8
> Copyright 1989-2025 Free Software Foundation, Inc.
> Copyright 1984-1988 Larry Wall
>
> but Sage doesn't find it and insists on building its own patch. The
> top-level config.log file shows that this directory is in PATH, but it says
>
> ## ------------------------------------------------------ ##
> ## Checking whether SageMath should install SPKG patch... ##
> ## ------------------------------------------------------ ##
> real_configure:46409: checking for GNU patch >= 2.7.0
> real_configure:46495: result:
> real_configure:46521: no suitable system package found for SPKG patch
>

the macro in spkg-configure doesn't correctly check that 2.8 >= 2.7.0
because it does not match only 2 numeric fields.

e.g.

$ patch --version | sed -n -e 's/GNU patch
*\([[0-9]]*\.[[0-9]]*\.[[0-9]]*\)/\1/p'
2.7.6.211-86ac
$
$ echo "GNU patch 2.8"| sed -n -e 's/GNU patch
*\([[0-9]]*\.[[0-9]]*\.[[0-9]]*\)/\1/p' # no output!
$
$ echo "GNU patch 2.8.42 "| sed -n -e 's/GNU patch
*\([[0-9]]*\.[[0-9]]*\.[[0-9]]*\)/\1/p'
2.8.42

This ought to be fixed.
See https://github.com/sagemath/sage/issues/39941

Dima


>
> On Monday, April 14, 2025 at 10:22:53 AM UTC-7 dim...@gmail.com wrote:
>
>> While you can download the tarfile from
>> https://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.gz into upstream/
>> it's more economic to use Homebrew for patch, and many more dependencies.
>>
>> PS. I gather that macOS patch is good enough nowadays, and we can use
>> it, as proposed on https://github.com/sagemath/sage/issues/30481
>>
>> On Mon, Apr 14, 2025 at 11:16 AM Jianping Pan <usapan...@gmail.com>
>> wrote:
>> >
>> > Dear sage dec,
>> >
>> > I'm trying to install sagemath on my macOS Sonoma 14.6.1 using git
>> >
>> > git clone --origin upstream https://github.com/sagemath/sage.git
>> >
>> > and I also ran ./configure Then I ran a few brew commands like
>> >
>> > brew install gnupg texinfo cbc igraph apaffenholz/polymake/polymake
>> >
>> > brew install flint gsl maxima openblas gpatch singular suite-sparse
>> >
>> > source /Users/jianpingpan/sage/.homebred-build-env
>> >
>> >
>> > Then I ran make reconfigure
>> >
>> > However after I do make, I quickly got the error message (log file
>> attached)
>> >
>> > [patch-2.7.6] File
>> "/Users/jianpingpan/sage/build/bin/../sage_bootstrap/expand_class.py", line
>> 126, in apply
>> >
>> > [patch-2.7.6] function(package_name, *args, **kwds)
>> >
>> > [patch-2.7.6] File
>> "/Users/jianpingpan/sage/build/bin/../sage_bootstrap/app.py", line 329, in
>> download_with_args
>> >
>> > [patch-2.7.6] self.download(package, allow_upstream=allow_upstream)
>> >
>> > [patch-2.7.6] File
>> "/Users/jianpingpan/sage/build/bin/../sage_bootstrap/app.py", line 315, in
>> download
>> >
>> > [patch-2.7.6] package.tarball.download(allow_upstream=allow_upstream)
>> >
>> > [patch-2.7.6] File
>> "/Users/jianpingpan/sage/build/bin/../sage_bootstrap/tarball.py", line 187,
>> in download
>> >
>> > [patch-2.7.6] raise FileNotMirroredError('tarball does not exist on
>> mirror network and neither at the upstream URL')
>> >
>> > [patch-2.7.6] sage_bootstrap.tarball.FileNotMirroredError: tarball does
>> not exist on mirror network and neither at the upstream URL
>> >
>> > [patch-2.7.6]
>> ************************************************************************
>> >
>> > [patch-2.7.6] Error downloading tarball of patch
>> >
>> > [patch-2.7.6]
>> ************************************************************************
>> >
>> > [patch-2.7.6] Please email sage-devel (
>> http://groups.google.com/group/sage-devel)
>> >
>> > [patch-2.7.6] explaining the problem and including the log files
>> >
>> > [patch-2.7.6] /Users/jianpingpan/sage/logs/pkgs/patch-2.7.6.log
>> >
>> > [patch-2.7.6] and
>> >
>> > [patch-2.7.6] /Users/jianpingpan/sage/config.log
>> >
>> > [patch-2.7.6] Describe your computer, operating system, etc.
>> >
>> > [patch-2.7.6]
>> ************************************************************************
>> >
>> > make[2]: *** [patch-SAGE_LOCAL-no-deps] Error 1
>> >
>> > make[1]: ***
>> [/Users/jianpingpan/sage/local/var/lib/sage/installed/patch-2.7.6] Error 2
>> >
>> > ***************************************************************
>> >
>> > Error building Sage.
>> >
>> >
>> > The following package(s) may have failed to build (not necessarily
>> >
>> > during this run of 'make base-toolchain'):
>> >
>> >
>> > * package: patch-2.7.6
>> >
>> > last build time: Apr 13 08:30
>> >
>> > log file: /Users/jianpingpan/sage/logs/pkgs/patch-2.7.6.log
>> >
>> >
>> > It is safe to delete any log files and build directories, but they
>> >
>> > contain information that is helpful for debugging build problems.
>> >
>> > WARNING: If you now run 'make' again, the build directory of the
>> >
>> > same version of the package will, by default, be deleted. Set the
>> >
>> > environment variable SAGE_KEEP_BUILT_SPKGS=yes to prevent this.
>> >
>> >
>> > make: *** [base-toolchain] Error 1
>> >
>> >
>> >
>> > I tried the method in
>> https://groups.google.com/g/sage-devel/c/_cotG4ONZeY/m/oIM0k21gCQAJ but
>> still have the same issue.
>> >
>> > Thanks!
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "sage-devel" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to sage-devel+...@googlegroups.com.
>> > To view this discussion visit
>> https://groups.google.com/d/msgid/sage-devel/991caaca-3f97-453d-a15e-0b9dcf0e81a1n%40googlegroups.com.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/sage-devel/1218a0a7-f769-4eaf-8342-622e8781bcd6n%40googlegroups.com
> <https://groups.google.com/d/msgid/sage-devel/1218a0a7-f769-4eaf-8342-622e8781bcd6n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq2--%2BYmaNvp-t%3D%3DXGau0BX-iLy0Tc-Jrdz73wWPR8p%3DcA%40mail.gmail.com.

Reply via email to