Linux Install cMatrix from RPM, DEB, XZ, or Source

Thursday, January 10, 2013

Most people with any sort of interest in computers have seen The Matrix. One of the most popular things from that movie is the scrolling Matrix code. It quickly became a screen saver on many different operating systems. cMatrix isn’t a screen saver, but it allows you to run the scrolling Matrix code from within your command line.

Unfortunately, cMatrix does not appear to be actively developed anymore. The last news update on the maintainer’s website is from March 31, 2002.

Luckily, the source code is still available from the maintainer’s website and can still be compiled on modern Linux distributions. In addition, pkgs.org hosts cMatrix RPM, DEB, and XZ packages for Fedora, Debian, Ubuntu, and Arch, and can be found at the link below.

RPM, DEB, and XZ Packages

If you want to get cMatrix installed quickly, installing it from the pkgs.org repository will be the easiest method of installation. These packages contain additional patches to properly install the mtx.pcf font on modern Linux distributions.

Compile from Source

The following compile process has been successfully tested on Fedora 17.

Install the following repository packages:

yum install gcc make autoconf automake ncurses-devel

Download and un-tar the source code:

wget https://www.asty.org/cmatrix/dist/cmatrix-1.2a.tar.gz

tar xvzf ~/cmatrix-1.2a.tar.gz

cd ~/cmatrix-1.2a

Generate aclocal.m4 man page:

aclocal

Generate configuration scripts:

autoconf

Generate Makefile.in for configure from Makefile.am:

automake -a

Configure, make, and make install the binary:

./configure
make
sudo make install

Jump to the Using cMatrix section below if you did not have any problems during the compile or installation process.

Potential Problems

If aclocal, autoconf, and automake -a are not run before ./configure the following errors may result:

./configure warnings:

configure: warning:
*** No termcap lib available, consider getting the official ncurses
*** distribution from ftp://ftp.gnu.org/pub/gnu/ncurses if you get
*** errors compiling nano.
checking for use_default_colors in -l... (cached) no

make errors:

cmatrix.o: In function `finish':
...
~/cmatrix-1.2a/cmatrix.c:602: undefined reference to `wattr_on'
~/cmatrix-1.2a/cmatrix.c:603: undefined reference to `stdscr'
~/cmatrix-1.2a/cmatrix.c:603: undefined reference to `waddch'
~/cmatrix-1.2a/cmatrix.c:605: undefined reference to `stdscr'
~/cmatrix-1.2a/cmatrix.c:605: undefined reference to `wattr_off'
~/cmatrix-1.2a/cmatrix.c:493: undefined reference to `LINES'
~/cmatrix-1.2a/cmatrix.c:509: undefined reference to `LINES'
~/cmatrix-1.2a/cmatrix.c:516: undefined reference to `LINES'
collect2: error: ld returned 1 exit status
make: *** [cmatrix] Error 1

Using cMatrix

To use cMatrix, run cmatrix from your shell and show everybody how all you see is blond, brunette, redhead.

comments powered by Disqus