Unfortunately the most recent Snapshot_6547.dmg as of 2023-03-08 does not run on macOS 10.15.7 and probably also not on macOS 10.13.6 anymore.
So I wonder, if support for these systems has ended or if the lastest version(s) of Reduce will still be made available for these "legacy" systems, as was the case with up tp Snapshot_6339.dmg.
Cheers
Tilda
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This reply is not just aimed at the original poster bu at all users with
Macintoshes, in the hope that experts in Mac develpoment will try
installing and building and feeling back some of their expertise!
First of all APOLOGIES. Making snapshots can sometimes be a bit fraught
and this time for the Mac the main thing we were trting to do was to
provide "universal" builds (ie x86+arm). That meant that the snapshot
could not be built on the ancient x86-Mac we had previously been using
since it is old enough that Apple do not support installing a new enough
OS to install a new enough Xcode to do universal builds.
The mac that the latest snapshot was built on runs Big Sur (11.7.4) abd
being a mid-2014 machine it can not be upgraded beyond that - which will
gradually give pain in the future! Apple seem to say that 10.15
(Catalina) will not be supported beyond November 30 2022.
Have you tried "redpsl" as well as "redcsl" since it may work better!
As Reduce developers we do not have access to many Macintosh machines and
eg for me I use Windows and Linux (and indeed possibly the Raspberry pi)
more. A number of years ago I had set up some Mac VMs on my macbook so I
could install previous releases of MacOS for testing, but that ended up
using more of the disc space than I could tolerate and was amazingly
cumbersome, but one of the MacOS updates seemed to make that really hard
to do. I now see that on an ARM Mac there are potentially nice ways to
virualise previous ARM-based releases of MacOS but the disc space issue
remains and anyway that would not help with the x86 variations! I would
hope that Reduce maintained compatibility with as many machines as
possible, so ceasing to support 10.15 was not deliverate and since I do
not have access to a machine running it was something I was unaware of.
There are a few possibilities that may help you! We MAY be able to fire up
the archaic snapshot builder and make a .dmg of a current Reduce
specifically for older Macs. I can not give you a time-frame for that and
it happens that I set off on a trip later today. You can of course fetch
and reinstall an older snapshot. I think we are not terribly likely to put
a lot of effort into working out what Apple changed that led to the
incompatibility you observe, but hypothetically we might!
Or if you are either brave or feel you already have the right skills you
can build Reduce from source on your machine - if you achieve that you
have the very best way of keeping up to date. So I will sketch what that
involves in case you wish to try.
(1) Ensure you have Xcode installed with its command-line tools.
(2) Install macports. [web search for info on that!]
If you are an existing "brew" user then we have less of a canned path but
all should be possible and if you got it all going we would really like to
hear!
(3) sudo port install subversion
svn co svn://svn.code.sf.net/p/reduce-algebra/code/trunk \
reduce-algebra
That should fetch all the Reduce code into a new directory called
"reduce-algebra"
(4) cd reduce-algebra
sudo scripts/macports-setup.sh
This is AMAZINGLY tedious and it fetches and installs all the build tools
and libraries etc that Reduce needs. This only has to be done once! Well
subsequently every so often you go
sudo port selfupdate
sudo port upgrade outdated
but those steps are much more modest! [If you are trying to use "brew" than the above script may give a hint
about what packages are needed. It would be really nice if somebody made
a "scripts/brew-setup.sh" in similar style and contributed it!]
(5) cd reduce-algebra
./configure --with-csl [or --with-psl]
make
bin/redcsl [or --with-psl] run Reduce!!
Again the FIRST time you do the "make" step it takes longer than
subsequent updates and on an older machine you may notice that quite a
lot. So "patience".
Now of course the reality is that those steps are SUPPOSED to work and
indeed be fairly simple to explain, but glitches can arise. So maybe
going "script fifth-attempt.log" ahead of the try would make sense so you
get a full log since working out which message is the key problem can be
hard until you build up experience! I will not be able to advise while I
am budy doing other things for a bit, but maybe others will and/or I can
join in when I get home again!
Arthur
On Wed, 15 Mar 2023, Tilda A. Steiner wrote:
Dear Developers,
thanks for your recent upgrade of Reduce.
Unfortunately the most recent Snapshot_6547.dmg as of 2023-03-08 does
not run on macOS 10.15.7 and probably also not on macOS 10.13.6 anymore.
So I wonder, if support for these systems has ended or if the lastest
version(s) of Reduce will still be made available for these "legacy"
systems, as was the case with up tp Snapshot_6339.dmg.
Cheers
Tilda
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
thanks for your fast reply and both the detailed eplanations as well as the instructions on how to compile reduce from sources. Yet, at the moment I do not feel brave enough to do so on my own.
I noticed that there is an older version of Reduce (2021-11-19) on MacPorts. I asked Mark Brethen, their maintainer, if there are plans to update the port to the latest Snapshot. If so, this might be good news for Reduce users working on older macOS computers.
Cheers
Tilda
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
While Homebrew follows Apple's support schedule, dropping support for a release when Apple declares it EOL, they do not actively remove the support. They currently state that "macOS 11 (Big Sur) or higher is best and supported, 10.11 (El Capitan) – 10.15 (Catalina) are unsupported but may work and 10.10 (Yosemite) and older will not run Homebrew at all."
So, no promises, but you might want to give it a try. It will compile Reduce from sources for you, but everything is fully automatic, so you don't have to be scared. It will either work, or it won't. :)
This takes about 40 minutes on my machine (which already has all the prerequisites installed and configured.) You system will likely take considerably longer, especially the first time. There are some points where it might seem hung, especially building the documentation, but just be patient.
While I can't make any promises that this will work on anything but macOS 13, macOS 12, and macOS 11, you might be successful.
If it does work for you, please let me know, and I'll make a note of it or try to fix your problem if I can.
Edit: This should work just fine with MacPorts installed (although it is not necessary), but I would recommend you remove any Reduce version installed via MacPorts before trying it via Homebrew. Also, I'm not sure M1 support is working yet, but that is likely not relevant for you.
Last edit: Jeffrey H. Johnson 2023-03-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
thanks for your suggestions. I have MacPorts installed on my computers and quite happy with it. I am a bit hesitant to install homebrew in addition to that. I'm not sure if it really is a good idea to have the two different package managers on one system.
Cheers
Tilda
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On supported macOS systems, the current MacPorts and current Homebrew coexist on the same system without any hassles. It's also not difficult to prefer a package system or the over if they both install something (for example, there are legitimate reasons you might prefer the MacPorts gnuplot package over Homerew, or vice-versa). Of course, on a "legacy" macOS <11 system, things might not work as well.
Homebrew does allow multiple user-level installations, although this is explicitly an unsupported configuration (and you can't ask the upstream for help) but if you want to try it, it is "safe" to your computer. I have a helper script that I created called localbrew.sh that makes this easier to manage. You can also get rid of it all with a rm -rf $HOME/.localbrew if it doesn't work for you. I do regularly test this method of installation, using Intel macOS.
This will create a somewhat isolated Homebrew installation in $HOME/.localbrew, and start a sub-shell in that environment. If you have used Python's virtualenv, it should feel familiar.
Running the localbrew.sh script should result in output similar to this:
Cloning into '/Users/user/.localbrew'... (...) Updating files: 100% (3020/3020), done. * Updating ... ==> Tapping homebrew/core Cloning into '/Users/user/.localbrew/Library/Taps/homebrew/homebrew-core'... (...) Tapped 3 commands and 6582 formulae (6,936 files, 609.7MB). ==> Fetching bash (...) [localbrew] Using Homebrew prefix: $HOME/.localbrew [localbrew] Using PATH: $HOME/.localbrew/bin:$HOME/.localbrew/sbin:/usr/bin:/bin:/usr/sbin:/sbin [localbrew] machine:~ user$
At this point, I'd recommend you exit and then re-run ./localbrew.sh (which ensures you are running the most up-to-date bash):
[localbrew] machine:~ user$ exit
$ ./localbrew.sh [localbrew] Using Homebrew prefix: $HOME/.localbrew [localbrew] Using PATH: $HOME/.localbrew/bin:$HOME/.localbrew/sbin:/usr/bin:/bin:/usr/sbin:/sbin [localbrew] machine:~ user$
Now you can install reduce (or reduce-current if you prefer) from the tap as usual:
This will take some time - the dependency list is larger than the standard installation because more packages will be built from source, and all those build prerequisites will also be installed (all into ~/.localbrew).
The whole process took 102 minutes on my virtualized CI system, so I'd expect a decent real machine to finish in 45-55 minutes. After it finishes, you can test it by running the standard commands (i.e. reduce, redcsl, rfpsl, etc.) from the [localbrew] shell prompt.
More conveniently, you run it directly via full path, i.e. $HOME/.localbrew/bin/reduce, $HOME/.localbrew/bin/redcsl, $HOME/.localbrew/bin/rfpsl, etc. without needing to start localbrew.sh. You probably would need to set your PATH too if you want to use the localbrew Gnuplot - I'd have to verify that.
(Of course, you probably want XQuartz (https://www.xquartz.org), for Reduce's GUI and graphical Gnuplot output, if you don't have it already.)
Updates will be significantly faster; just run ./localbrew.sh and then brew update && brew upgrade --verbose at any time.
If you have a fast Internet connection, running brew cleanup -s --prune=all after installation will recover about 600MB of disk space, with the tradeoff that some packages will need to be downloaded and extracted again for upgrades. The size of my $HOME/.localbrew directory ends up about 2.5GB, or 1.9GB after the cleanup.
There are quite a few package managers for macOS (Fink, Nix, MacPorts, Homebrew, and others...) and Homebrew was (IMHO) really buggy for some time, but now (again, IMHO only) has surpassed MacPorts in keeping up-to-date, package quality, and ease of use. I'm actually not a regular macOS user, but I contribute regularly to Homebrew since it's become the de facto standard macOS package manager. When I do use a Mac, I want all my usual tools working and I only want to install one package manager.
It's worth mentioning that on Apple Silicon machines, the Reduce package built from my Homebrew tap should be faster (possibly significantly faster) than the upstream Universal package because it will build a 100%-native ARM64 LTO-tuned program, using the very latest compiler and latest macOS SDK, fully optimized for the running macOS version. I've not verified the localbrew.sh method on an M1 yet, but M1 support in general now seems to be working well.
You might still not want to try it (and I've not tested on macOS 10.x either), but this post might help others who do but don't want a regular Homebrew installation.
-- Jeff
Last edit: Jeffrey H. Johnson 2023-03-18
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
thanks for your in-depth instructions on how to setup Homebrew locally and install Reduce.
You got me convinced to give Homebrew a go. As it can peacefully coexist with MacPorts on supported systems, I guess this will have to wait till I replace my old macintoshes in a year or two.
Cheers
Tilda
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The biggest reason I prefer using Homebrew is for easy automatic updates, so I hope others find it useful. Ironically, my main Linux machine is running Reduce 5689 (from 2021), so perhaps I should focus on Linuxbrew support, or creating a Yum/DNF RPM repository next!
I also updated the documentation on the web page at https://github.com/reduce-algebra/homebrew-reduce-algebra to make it a bit more clear that that repository serves two related but distinct purposes, allowing Homebrew users to install REDUCE and keep it updated via brew, and allowing binary REDUCE distributions, which will not require Homebrew to run, to be built using Homebrew as an alternative to MacPorts.
I've built the latest packages for macOS 10.13 using Clang 15.0.7 (which is considerably newer than the Clang 10 included in XCode 10.1), so this may provide some performance benefits benefits.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
thank you very much for your work. I installed the legacy-snapshot_6550.dmg on macOS 10.15.7, and it seems to be working fine: both all the csl apps and psl when called from within a TeXmacs session. I guess it will probably also run on macOS 10.13.6. I will let you know if it doesn't.
Cheers
Tilda
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The bad news: getting my Homebrew-based localbrew setup working on High Sierra was not for the faint of heart (and will only get degrade over time as there are no more updates for the operating system or toolchains.) Increasing the optimization level or enabling LTO, even with the latest Xcode available for this system, which is 10.1, results in a linker crash. As a result, the build targets all Intel processors generically, and uses standard optimizations.
The good news: it was done via localbrew, so the build environment is transportable. If anyone wants to reproduce this for themselves on their own system, I can provide the whole build environment as a (rather large) archive.
Also, it might be possible to build newer versions of LLVM and Clang for better results, but really, these systems should be upgraded (or retired) soon.
On Tue, Mar 21, 2023, at 3:08 PM, Tilda A. Steiner wrote:
Dear Eberhard,
thank you very much for your work. I installed the legacy-snapshot_6550.dmg on macOS 10.15.7, and it seems to be working fine: both all the csl apps and psl when called from within a TeXmacs session. I guess it will probably also run on macOS 10.13.6. I will let you know if it doesn't.
This build also corrects the minor issue of libiconv being inadvertently dynamically linked so (besides the necessary linking to libc++ and libSystem) it’s fully static as intended.
Dear Developers,
thanks for your recent upgrade of Reduce.
Unfortunately the most recent Snapshot_6547.dmg as of 2023-03-08 does not run on macOS 10.15.7 and probably also not on macOS 10.13.6 anymore.
So I wonder, if support for these systems has ended or if the lastest version(s) of Reduce will still be made available for these "legacy" systems, as was the case with up tp Snapshot_6339.dmg.
Cheers
Tilda
This reply is not just aimed at the original poster bu at all users with
Macintoshes, in the hope that experts in Mac develpoment will try
installing and building and feeling back some of their expertise!
First of all APOLOGIES. Making snapshots can sometimes be a bit fraught
and this time for the Mac the main thing we were trting to do was to
provide "universal" builds (ie x86+arm). That meant that the snapshot
could not be built on the ancient x86-Mac we had previously been using
since it is old enough that Apple do not support installing a new enough
OS to install a new enough Xcode to do universal builds.
The mac that the latest snapshot was built on runs Big Sur (11.7.4) abd
being a mid-2014 machine it can not be upgraded beyond that - which will
gradually give pain in the future! Apple seem to say that 10.15
(Catalina) will not be supported beyond November 30 2022.
Have you tried "redpsl" as well as "redcsl" since it may work better!
As Reduce developers we do not have access to many Macintosh machines and
eg for me I use Windows and Linux (and indeed possibly the Raspberry pi)
more. A number of years ago I had set up some Mac VMs on my macbook so I
could install previous releases of MacOS for testing, but that ended up
using more of the disc space than I could tolerate and was amazingly
cumbersome, but one of the MacOS updates seemed to make that really hard
to do. I now see that on an ARM Mac there are potentially nice ways to
virualise previous ARM-based releases of MacOS but the disc space issue
remains and anyway that would not help with the x86 variations! I would
hope that Reduce maintained compatibility with as many machines as
possible, so ceasing to support 10.15 was not deliverate and since I do
not have access to a machine running it was something I was unaware of.
There are a few possibilities that may help you! We MAY be able to fire up
the archaic snapshot builder and make a .dmg of a current Reduce
specifically for older Macs. I can not give you a time-frame for that and
it happens that I set off on a trip later today. You can of course fetch
and reinstall an older snapshot. I think we are not terribly likely to put
a lot of effort into working out what Apple changed that led to the
incompatibility you observe, but hypothetically we might!
Or if you are either brave or feel you already have the right skills you
can build Reduce from source on your machine - if you achieve that you
have the very best way of keeping up to date. So I will sketch what that
involves in case you wish to try.
(1) Ensure you have Xcode installed with its command-line tools.
(2) Install macports. [web search for info on that!]
If you are an existing "brew" user then we have less of a canned path but
all should be possible and if you got it all going we would really like to
hear!
(3) sudo port install subversion
svn co svn://svn.code.sf.net/p/reduce-algebra/code/trunk \
reduce-algebra
That should fetch all the Reduce code into a new directory called
"reduce-algebra"
(4) cd reduce-algebra
sudo scripts/macports-setup.sh
This is AMAZINGLY tedious and it fetches and installs all the build tools
and libraries etc that Reduce needs. This only has to be done once! Well
subsequently every so often you go
sudo port selfupdate
sudo port upgrade outdated
but those steps are much more modest!
[If you are trying to use "brew" than the above script may give a hint
about what packages are needed. It would be really nice if somebody made
a "scripts/brew-setup.sh" in similar style and contributed it!]
(5) cd reduce-algebra
./configure --with-csl [or --with-psl]
make
bin/redcsl [or --with-psl] run Reduce!!
Again the FIRST time you do the "make" step it takes longer than
subsequent updates and on an older machine you may notice that quite a
lot. So "patience".
Now of course the reality is that those steps are SUPPOSED to work and
indeed be fairly simple to explain, but glitches can arise. So maybe
going "script fifth-attempt.log" ahead of the try would make sense so you
get a full log since working out which message is the key problem can be
hard until you build up experience! I will not be able to advise while I
am budy doing other things for a bit, but maybe others will and/or I can
join in when I get home again!
Arthur
On Wed, 15 Mar 2023, Tilda A. Steiner wrote:
Dear Arthur,
thanks for your fast reply and both the detailed eplanations as well as the instructions on how to compile reduce from sources. Yet, at the moment I do not feel brave enough to do so on my own.
I noticed that there is an older version of Reduce (2021-11-19) on MacPorts. I asked Mark Brethen, their maintainer, if there are plans to update the port to the latest Snapshot. If so, this might be good news for Reduce users working on older macOS computers.
Cheers
Tilda
Another alternative you might try ...
I've recently introduced a Homebrew tap for macOS - see https://github.com/reduce-algebra/homebrew-reduce-algebra
While Homebrew follows Apple's support schedule, dropping support for a release when Apple declares it EOL, they do not actively remove the support. They currently state that "macOS 11 (Big Sur) or higher is best and supported, 10.11 (El Capitan) – 10.15 (Catalina) are unsupported but may work and 10.10 (Yosemite) and older will not run Homebrew at all."
So, no promises, but you might want to give it a try. It will compile Reduce from sources for you, but everything is fully automatic, so you don't have to be scared. It will either work, or it won't. :)
First, install Homebrew - see https://brew.sh/ - and then:
brew tap reduce-algebra/reduce-algebra
brew install --verbose reduce
This takes about 40 minutes on my machine (which already has all the prerequisites installed and configured.) You system will likely take considerably longer, especially the first time. There are some points where it might seem hung, especially building the documentation, but just be patient.
While I can't make any promises that this will work on anything but macOS 13, macOS 12, and macOS 11, you might be successful.
If it does work for you, please let me know, and I'll make a note of it or try to fix your problem if I can.
Edit: This should work just fine with MacPorts installed (although it is not necessary), but I would recommend you remove any Reduce version installed via MacPorts before trying it via Homebrew. Also, I'm not sure M1 support is working yet, but that is likely not relevant for you.
Last edit: Jeffrey H. Johnson 2023-03-18
Dear Jeffrey,
thanks for your suggestions. I have MacPorts installed on my computers and quite happy with it. I am a bit hesitant to install homebrew in addition to that. I'm not sure if it really is a good idea to have the two different package managers on one system.
Cheers
Tilda
Hi Tilda,
On supported macOS systems, the current MacPorts and current Homebrew coexist on the same system without any hassles. It's also not difficult to prefer a package system or the over if they both install something (for example, there are legitimate reasons you might prefer the MacPorts
gnuplot
package over Homerew, or vice-versa). Of course, on a "legacy" macOS <11 system, things might not work as well.Homebrew does allow multiple user-level installations, although this is explicitly an unsupported configuration (and you can't ask the upstream for help) but if you want to try it, it is "safe" to your computer. I have a helper script that I created called
localbrew.sh
that makes this easier to manage. You can also get rid of it all with arm -rf $HOME/.localbrew
if it doesn't work for you. I do regularly test this method of installation, using Intel macOS.If you want to try it:
cd ~ && curl -fsSLO https://raw.githubusercontent.com/johnsonjh/localbrew/master/localbrew.sh && chmod a+x localbrew.sh && ./localbrew.sh
This will create a somewhat isolated Homebrew installation in
$HOME/.localbrew
, and start a sub-shell in that environment. If you have used Python's virtualenv, it should feel familiar.Running the
localbrew.sh
script should result in output similar to this:Cloning into '/Users/user/.localbrew'...
(...)
Updating files: 100% (3020/3020), done.
* Updating ...
==> Tapping homebrew/core
Cloning into '/Users/user/.localbrew/Library/Taps/homebrew/homebrew-core'...
(...)
Tapped 3 commands and 6582 formulae (6,936 files, 609.7MB).
==> Fetching bash
(...)
[localbrew] Using Homebrew prefix: $HOME/.localbrew
[localbrew] Using PATH: $HOME/.localbrew/bin:$HOME/.localbrew/sbin:/usr/bin:/bin:/usr/sbin:/sbin
[localbrew] machine:~ user$
At this point, I'd recommend you
exit
and then re-run./localbrew.sh
(which ensures you are running the most up-to-datebash
):[localbrew] machine:~ user$ exit
$ ./localbrew.sh
[localbrew] Using Homebrew prefix: $HOME/.localbrew
[localbrew] Using PATH: $HOME/.localbrew/bin:$HOME/.localbrew/sbin:/usr/bin:/bin:/usr/sbin:/sbin
[localbrew] machine:~ user$
Now you can install
reduce
(orreduce-current
if you prefer) from the tap as usual:[localbrew] machine:~ user$ brew tap reduce-algebra/reduce-algebra
==> Tapping reduce-algebra/reduce-algebra
(...)
Tapped 2 formulae (22 files, 262.4KB).
[localbrew] machine:~ user$ time brew install reduce --verbose --display-times
==> Fetching dependencies for reduce-algebra/reduce-algebra/reduce: brotli, pkg-config, libpng, freetype, fontconfig, gettext, jpeg-turbo, giflib, highway, imath, lz4, xz, zstd, libtiff, little-cms2, openexr, webp, jpeg-xl, libvmaf, aom, libavif, gd, libcerf, lua, ninja, mpdecimal, ca-certificates, openssl@1.1, readline, sqlite, python@3.11, meson, pcre2, glib, util-macros, xtrans, xorgproto, libxau, libxdmcp, libxcb, libx11, libxext, libxrender, lzo, pixman, cairo, fribidi, graphite2, icu4c, harfbuzz, pango, qt@5, gnuplot, libffi, libxfixes, libxcursor, libxft, libxi, libxrandr, and libiconv ...
(...)
This will take some time - the dependency list is larger than the standard installation because more packages will be built from source, and all those build prerequisites will also be installed (all into
~/.localbrew
).The whole process took 102 minutes on my virtualized CI system, so I'd expect a decent real machine to finish in 45-55 minutes. After it finishes, you can test it by running the standard commands (i.e.
reduce
,redcsl
,rfpsl
, etc.) from the[localbrew]
shell prompt.More conveniently, you run it directly via full path, i.e.
$HOME/.localbrew/bin/reduce
,$HOME/.localbrew/bin/redcsl
,$HOME/.localbrew/bin/rfpsl
, etc. without needing to startlocalbrew.sh
. You probably would need to set your PATH too if you want to use the localbrew Gnuplot - I'd have to verify that.(Of course, you probably want XQuartz (https://www.xquartz.org), for Reduce's GUI and graphical Gnuplot output, if you don't have it already.)
Updates will be significantly faster; just run
./localbrew.sh
and thenbrew update && brew upgrade --verbose
at any time.If you have a fast Internet connection, running
brew cleanup -s --prune=all
after installation will recover about 600MB of disk space, with the tradeoff that some packages will need to be downloaded and extracted again for upgrades. The size of my$HOME/.localbrew
directory ends up about 2.5GB, or 1.9GB after the cleanup.There are quite a few package managers for macOS (Fink, Nix, MacPorts, Homebrew, and others...) and Homebrew was (IMHO) really buggy for some time, but now (again, IMHO only) has surpassed MacPorts in keeping up-to-date, package quality, and ease of use. I'm actually not a regular macOS user, but I contribute regularly to Homebrew since it's become the de facto standard macOS package manager. When I do use a Mac, I want all my usual tools working and I only want to install one package manager.
It's worth mentioning that on Apple Silicon machines, the Reduce package built from my Homebrew tap should be faster (possibly significantly faster) than the upstream Universal package because it will build a 100%-native ARM64 LTO-tuned program, using the very latest compiler and latest macOS SDK, fully optimized for the running macOS version. I've not verified the
localbrew.sh
method on an M1 yet, but M1 support in general now seems to be working well.You might still not want to try it (and I've not tested on macOS 10.x either), but this post might help others who do but don't want a regular Homebrew installation.
-- Jeff
Last edit: Jeffrey H. Johnson 2023-03-18
Dear Jeffrey,
thanks for your in-depth instructions on how to setup Homebrew locally and install Reduce.
You got me convinced to give Homebrew a go. As it can peacefully coexist with MacPorts on supported systems, I guess this will have to wait till I replace my old macintoshes in a year or two.
Cheers
Tilda
Tilda,
No problem!
The biggest reason I prefer using Homebrew is for easy automatic updates, so I hope others find it useful. Ironically, my main Linux machine is running Reduce 5689 (from 2021), so perhaps I should focus on Linuxbrew support, or creating a Yum/DNF RPM repository next!
I also updated the documentation on the web page at https://github.com/reduce-algebra/homebrew-reduce-algebra to make it a bit more clear that that repository serves two related but distinct purposes, allowing Homebrew users to install REDUCE and keep it updated via
brew
, and allowing binary REDUCE distributions, which will not require Homebrew to run, to be built using Homebrew as an alternative to MacPorts.I've built the latest packages for macOS 10.13 using Clang 15.0.7 (which is considerably newer than the Clang 10 included in XCode 10.1), so this may provide some performance benefits benefits.
After a quite big struggle with our old snapshot-builder I managed to create a snapshot that might work on older Mac's. Please try it out.
The snapshot is now on sourceforge and is named Reduce-legacy_snapshot_6550.dmg
Eberhard
Dear Eberhard,
thank you very much for your work. I installed the legacy-snapshot_6550.dmg on macOS 10.15.7, and it seems to be working fine: both all the csl apps and psl when called from within a TeXmacs session. I guess it will probably also run on macOS 10.13.6. I will let you know if it doesn't.
Cheers
Tilda
I’ve also managed to produce a new (unofficial) legacy build (this one actually done on a 10.13 system) …
It’s available at https://github.com/reduce-algebra/homebrew-reduce-algebra/releases/download/Reduce_6547-x86_64-mac_10.13_highsierra-darwin17.7.0/Reduce_6547-x86_64-mac_10.13_highsierra-darwin17.7.0.dmg
The bad news: getting my Homebrew-based localbrew setup working on High Sierra was not for the faint of heart (and will only get degrade over time as there are no more updates for the operating system or toolchains.) Increasing the optimization level or enabling LTO, even with the latest Xcode available for this system, which is 10.1, results in a linker crash. As a result, the build targets all Intel processors generically, and uses standard optimizations.
The good news: it was done via localbrew, so the build environment is transportable. If anyone wants to reproduce this for themselves on their own system, I can provide the whole build environment as a (rather large) archive.
Also, it might be possible to build newer versions of LLVM and Clang for better results, but really, these systems should be upgraded (or retired) soon.
I’ll add any new builds to https://github.com/reduce-algebra/homebrew-reduce-algebra/wiki/Package-Building
--
Jeffrey H. Johnson
trnsz@pobox.com
On Tue, Mar 21, 2023, at 3:08 PM, Tilda A. Steiner wrote:
A quick update - I was able to build Clang 15.0.7 for macOS 10.13 - although I’m not sure it was worth the hassle.
I’ve uploaded a new REDUCE build produced with it, replacing the previous one: https://github.com/reduce-algebra/homebrew-reduce-algebra/releases/download/Reduce_6547-x86_64-mac_10.13_highsierra-darwin17.7.0/Reduce_6547-x86_64-mac_10.13_highsierra-darwin17.7.0.dmg
This build also corrects the minor issue of libiconv being inadvertently dynamically linked so (besides the necessary linking to libc++ and libSystem) it’s fully static as intended.