Macintosh

Linux

The simple way to install maxima

Normally Linux distributions include a packet manager that allows to
install apps automatically. Most Linux distributions based on .deb
packages will automatically install maxima on clicking
this link. The package manager also provides
several graphical front-ends for using maxima. One that aims for
completeness is wxMaxima.

Manually installing maxima on RPM based systems

In Linux distributions based on RPM packages as an alternative
to the package manager it is possible to enter the Maxima-Linux
subsection and to follow the link to the most recent version. The
page will contain several RPM packages named as:
name-version.i386.rpm, where the first part is the
name of each package and the second part are the numbers that
identify the version. The minimum set of packages that must be
installed are maxima and maxima-exec-clisp.
Since they both depend on each other, they should be installed
with a single rpm command:

rpm -ivh maxima-x.y.z-n.i386.rpm maxima-exec-clisp-x.y.z-n.i386.rpm

Clisp and Gnuplot should be
installed in your system.

You may also want to install maxima-xmaxima, which
provides the Xmaxima graphical interface and a graphics program
needed by some commands such as plotdf and
ploteq.

The maxima-lang packages provide translations of the
manual into various languages.

Manually installing maxima on debian-based systems

Maxima-Linux
Contains .deb files that can be downloaded and manually installed
on debian-based systems.

maxima-common contains many files needed in order to run
and install the actual maxima binary.

maxima-sbcl provides a maxima binary that was compiled with sbcl.
It should be reasonably fast and able to run even on systems with no sbcl
installed.

maxima-gcl provides a maxima binary that was compiled with gcl.
It might be considerably faster or slower than sbcl, depending on the task.

maxima-ecl provides a maxima binary that was compiled with ecl.
Performance-wise it normally ranges between clisp and sbcl.

maxima-clisp provides a maxima binary that was compiled with clisp.
It should be extremely memory-efficient and able to run on every system
that has a similar clisp to that maxima was compiled with installed.

In order to be able to run maxima both maxima-common and at least
one of the above binaries have to be installed.
Most systems contain a program that automatically installs .deb
packages on double-clicking them. If that isn't the case the following
command will install packages:

sudo dpkg -i <packagename>

If dpkg claims that some dependencies aren't fulfilled the required packages
an automatic install and download of these can be triggered by issuing
the following command:

sudo apt-get -f install

Distribution-independent packages

Maxima is also part of the distribution-independent
snap package
of wxMaxima. Informations about installing snaps can be found
here.

Android

Source Code

In systems not included in the previous list or if you want
to build a more recent Maxima version or with a different Lisp
flavor, get the source code from the Maxima-source subsection. Unpack the file and follow the
instructions given in file INSTALL, which can also be
read on-line.

GIT

The most recent development version of the source code can
be downloaded from the GIT repository. That
page shows the git command that should be used to obtain a
complete copy of the repository. After getting the code, follow
the instructions in INSTALL.git.

Nightly builds

For Windows a nightly build can be downloaded from
Wolfgang Dautermann's Website that also provides detailled results of compilation
and testbench runs on many different lisps. For Ubuntu Linux nightly builds of maxima
are provided at launchpad.net.

If the snappy apps infrastructure
is installed (Info on installing it manually is
here) the following
command installs a distribution-independent, though large nightly build of
maxima + wxMaxima on entering the following command:

sudo snap install --edge wxmaxima

Even if there is no guarantee that a nightly build will work the maxima team tries
to keep its codebase as stable as possible which means that if something
is broken in the nightly build which did work in the release this information
normally is important for the developers.