Hi all, Sorry for the late reply. I tried many things and was not able to fix it. However, I was able to install sage using Conda which was a painless process!
In case it is helpful for anyone, below was what worked for me: (1) Install conda in the terminal. I used Charlie Parker's new answer using only the terminal for mac zsh from https://stackoverflow.com/questions/49118277/what-is-the-best-way-to-install-conda-on-macos-apple-mac (2) Install sage using Conda https://doc.sagemath.org/html/en/installation/conda.html conda config --add channels conda-forge conda config --set channel_priority strict conda create -n sageenv sage python=3.12 (3) activate sageenv environment in conda conda activate /Users/jianping.pan/anaconda3/envs/sageenv (4) Install some optional packages, after activating the above environment conda install pynormaliz sage -pip install multipolynomial_bases sage -pip install jupyterlab (5) run sage from jupyterlab sage -n jupyterlab Best, Jianping On Monday, April 14, 2025 at 12:38:09 PM UTC-7 dim...@gmail.com wrote: > On Mon, Apr 14, 2025 at 12:33 PM John H Palmieri <jhpalm...@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+...@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/92daf9b5-8b71-407d-9100-d25aebdd91f1n%40googlegroups.com.