CSL, SRI International & DCS, UIUC

Maude on Microsoft Windows

Disclaimer: This information is provided as is. Maude is not tested on Windows. Some of the software mentioned below is alpha and should be treated as such. Caveat usor.

Getting a compiled version:

At the MOMENT project web site you can find different versions of Maude that have been compiled with the instructions below and are portable. They also provide some development tools.

Using Cygwin:

José Maria Álvarez Palomo has successfully compiled Maude 2 on Windows under Cygwin; unfortunately, the resulting binary was not portable across different Windows systems. He however has been kind enough to provide detailed instructions on how to compile and run Maude under Cygwin.
  1. Download the Cygwin installer
  2. Execute it
    1. Disable virus scanners (recommended)
    2. Install from Internet (recommended)
    3. Install directory c:\cygwin (avoid white spaces in path)
    4. For all users (recommended)
    5. Choose closest mirror
    6. Packages to install: As well as the default packages you have to add:
      gcc, g++ (gcc version 3.3.x required), gdb, bison, flex, make, libncurses-devel
    7. The rest of the process installation is fully automatic. There is now a quick access to cygwin in the desktop and you have an Unix-like environment whose root directory is on c:\cygwin.
  3. Compiling Maude (you can skip this step if you already have the binaries)
    1. Download needed sources from the sources page. dlmalloc doesn't have to be download because it is included in the Maude 2 3rdParty directory
    2. Compile buddy22.
      • untar buddy tar file
      • cd to buddy directory
      • modify file 'config' as stated in the Maude INSTALL file: uncomment line # BUDDYUINT64 = -DBUDDYUINT64="long long"
      • make
      • mkdir /usr/local/include
      • make install (headers and libs are copied to /usr/local/include and /usr/local/lib respectively)
      • make examples (this step can be skipped. The source code has to be modified to comply with the gcc 3.2 compiler)
    3. Compile libtecla
      • untar libtecla tar file
      • cd to libtecla directory
      • ./configure
      • modify Makefile (as stated in the Maude INSTALL file): line 89: CFLAGS "-O2 -D_POSIX_C_SOURCE=1"
      • make TARGETS=normal TARGET_LIBS=static install (as stated in the Maude INSTALL file)
      • last step of make fails because it expects a file called 'enhance' instead of 'enhance.exe'. To fix it: mv enhance.exe /usr/local/bin/enhance.exe && chmod ugo+rx /usr/local/bin/enhance.exe
    4. Compile gmp.
      • Though cygwin includes its own libgmp, the included libgmp does not have C++ support, so I opted for not including the cygwin version.
      • untar libgmp tar file
      • cd to libgmp directory
      • ./configure --enable-cxx --disable-shared (as stated in the Maude INSTALL file)
      • make
      • make install
      • All headers and libs are copied to /usr/local/include and /usr/local/lib respectively.
    5. Compile Maude
      • untar Maude tar file
      • cd to Maude directory
      • mkdir Build
      • cd Build
      • ../configure CPPFLAGS="-I/usr/include -I/usr/local/include" LDFLAGS="-L/usr/lib -L/usr/local/lib" GMP_LIBS="/usr/local/lib/libgmpxx.a /usr/local/lib/libgmp.a"
      • make
      • make install
      • To reduce the size of the maude.exe executable, run "strip -s maude.exe". This can reduce the filesize from 17MB to 2MB.
  4. Installing Maude
    1. Copy maude.exe to a directory included in the PATH environment variable. You can edit .bashrc to add a new directory to PATH. I think this step can be skipped if you have compiled the sources.
    2. Include the MAUDE_LIB variable in .bashrc export MAUDE_LIB=~:/usr/local/share/
    3. Copy fm.maude, model-checker.maude, prelude.maude in a directory included in MAUDE_LIB.
    4. If you want to run maude from a regular Windows system prompt, you have to add as a Windows environment variable MAUDE_LIB with the value /usr/local/share (or the directory where prelude, maude-checker and full-maude are). Please note it uses '/' as the directory separator (in Linux style).
  5. Enjoy Maude :-)

Using Line (deprecated):

The linux/x86 binary of Maude can also be made to run under Windows using Line, which in turn depends on the Cygwin DLL.

Download the zipped archive and extract it. Go into the directory created, and double click maude.bat. Maude should launch. Timing does not work and the date/time printed on start-up will probably be wrong. Also, entering Ctrl-C might cause Maude to stop working.

The LINE and Cygwin sources and binaries are also available separately below:

[ Maude Home Page]