Closed rljacobson closed 1 year ago
The INSTALL file now has detailed instructions from building from source for both Linux and Mac.
@stevenmeker On Apple Silicon, libbuddy fails to build. This issue is actually with an outdated config tool. If you replace tools/config.guess
and tools/config.sub
in the libbuddy source tree with the most recent versions, everything is fine.
Obviously this isn't an issue with Maude, but there doesn't seem to be an explanation anywhere else on the internet of this problem and solution. That might just be a reflection of my google fu, though.
There is not much in the way of build instructions. I took some notes during my attempt at building Maude on macOS 12.6. I thought they might be useful to other people. Would you be interested in including something similar to this in the Maude repository?
Building on macOS
A couple of old brew files exist for installing old versions of Maude with Homebrew. There does not seem to be a guide anywhere on compiling Maude from source.
Dependencies required:
brew install libsigsegv
.brew install libtecla
.brew install SRI-CSL/sri-csl/yices2
. Alternatively, you can use CVC4.brew tap cvc4/cvc4
and thenbrew install cvc4/cvc4/cvc4
. Since CVC4 has been superseded by cvc5, I chose Yike2. I don't know if Yikes2 is better or not. YMMV.brew install gmp
.Compilation Dependencies
Dependencies of the build system rather than of the project code itself. This list is not exhaustive.
brew install bison
. However, Homebrew will not shadow the system bison. You must make sure the newer version of bison is first in your $PATH.Build instructions
Maude appears to use the "standard" autotools build system, which is ancient by today's standards, but if it ain't broke... The configure script is not included in the sources, but it can be generated from
configure.ac
, which is included. To generate it, run:Then run configure:
Then make. Use the flag
-jN
, replacingN
with the number of cores your computer has. This is likely to significantly reduce the build time.If the build fails with an error about a header file not being found, it is likely due to one of the dependencies above being missing. Install the dependency, then run
make
again. The build will pick up where it left off.