Downloading and installing Mathemagix
Welcome | Download | Progress | Mailing lists | Contact

1.Architecture and prerequisites

Mathemagix consists of a collection of rather small packages which partially depend on each other. The core packages are:

Common architecture for Mathemagix. Depends on nothing.
The Mathemagix interpreter. Depends on basix and readline/history.

Once these two packages are installed two different installation processes are proposed:

  1. Add manually the packages through the standard GNU compilation and installation commands;
  2. Install the package pack that only depends on basix and refer to its own documentation to install remote precompiled packages.

Beside these central packages the main general purposes packages are:

Arithmetic on numbers. Depends on mmxlight, gmp and mpfr.
Basic library for algebraic objects. Depends on gnumerix.
Basic library for symbolic expressions. Depends on algebramix.
Basic library for analytic objects. Depends on algebramix.

Other more specific packages are to be found in the Mathemagix source code root directory.

The external dependencies are readline/history, gmp and mpfr. Notice that mmxlight can be compiled independently from readline, but the resulting command-line interface will be minimalistic.

2.Download and unpack the source code

At the current development stage, sources have to be downloaded from the svn server located at

via the following command:

svn checkout svn://

This will create a mmx directory containing all the source files.

In case you wish to contribute, just ask for an account via the above gforge page.

3.Compile and install

Once the sources are downloaded go into the mmx directory. Therein you will find a python script called mmx-config that you may want to edit in order to enable or disable packages and options. In case you actually edit the latter script, you have to execute it (assuming you have python installed).

For the next step, just type make in your console. As a result the packages will be configured and compiled in a suitable order. Then type make install to proceed with the installation.

By default the software will be installed into /usr/local. If you want to install elsewhere, then use

    ./configure –prefix=[other-dir]

Notice that each individual package can be compiled and installed independently using the same procedure. In particular, this allows you to build only that part of Mathemagix which is actually useful for you. Packagers are incited not to ship Mathemagix as one big package, but rather as the collection of the individual packages.


After installation, you should now have the binary mmx-light in your path. The interpreter is launched using




at the prompt should produce the output



The main documentation is located in the toplevel doc/ directory. Each package is then documented within its own doc/ directory, usually throughout the Doxygen software, and is produced via make html. Installation is made according to the datadir configuration setup via make


If you want to move the installed files from one directory to another, you must edit basix-config, mmxlight-config, etc. We discourage this procedure and recommend to proceed with a complete reinstallation from the source directory.

7.Global Variables

The following variables should not be modified, unless you really know what you are doing.

Beside global variables a global boot file is located at 'prefix_path'/etc/mathemagix/boot.mmx. It is automatically loaded by mmx-light. At the end, the latter boot file further loads a user boot file located at $MMX_USER_DIR/etc/boot.mmx. Use the shell option –noboot to disable these loadings.

8.Developer's Side

Within usual development cycle, mmx-light and other executables can be run by setting all the mandatory paths to suitable values. These values are included in the file set-devel-paths, and they can be set via the following console command that may depend on your shell: source set-devel-paths. Note that all the packages must be configured with then –enable-devel option.

9.Known Problems

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License. If you don't have this file, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.