The current state of the Mnemonic sources
|
Mnemonic is work in progress. We try to keep the source tarball and CVS
tree in a state such that you can compile the lot without compiler errors,
but this is not always possible. When it doesn't work for you, contact the
mailing lists or simply wait a few days and try
again.
The current plan is to start providing binary releases and stable
source snapshots during the 1999 Christmas break.
You need a fairly up to date system to compile Mnemonic. The most
important things are:
- gcc-2.95 or higher
check this with the "g++ -v" command
Older versions have various small problems, avoid them.
Note: egcs has become the official GNU compiler and is
now called gcc.
- binutils-2.9.1
check with the "ld -v" command
- automake-1.4
check with the "automake --version" command.
You can probably get away with a lower version if you do not
use any modules that depend on glib, gtk+ or gtk--.
- autoconf-2.13
check with the "autoconf --version" command
- glibc-2.1 (aka libc6.1)
You now need glibc to run Mnemonic, there are simply too
many bugs in libc5. You can install glibc on a machine which
runs libc5, but that's not for the faint of heart. Better
upgrade your distribution.
The 2.0.x series has a serious problem with dlopen and (in particular
on non-intel architectures) show stopping problems with threads. So you
have to use glibc-2.1. Be very careful if you install this
yourself.
- libtool-1.3.2
to compile glib, gtk+ and gtk--. check with the "libtool --version" command.
- gettext-0.10.35
to compile glib, gtk+ and gtk--. Check with the "gettext --version" command.
- glib-1.2.7 or higher
only for the gui modules. Check with the "glib-config --version" command.
Versions lower than 1.2.7 have a show-stopping threading bug.
- gtk+-1.2.7 or higher
only for the gui modules. Check with the "gtk-config --version" command.
Versions lower than 1.2.7 have a show-stopping threading bug.
- Gtk--1.2.1 or higher
only for the gui modules. Check with the "gtkmm-config --version" command.
Versions 1.0.x are incompatible. Note that you need at least
release 1.2.1; 1.2.0 contains a show-stopping bug.
- T1-lib
1.0.0 or later
only for the gui modules. This library is used for anti-aliased fonts and can
be omitted if you are compiling mnemonic yourself (autoconfig will then
disable anti-aliased fonts).
- threadsafe
X11
Almost all recent Linux distributions have
threadsafe X11 libraries, but if you get funky X IO errors when
running Mnemonic you may want to check with your distributor.
At the moment, you can either get the sources directly from CVS (which is recommended) or you
can get a tarball
Mnemonic-latest.tar.gz
which is actually a copy of the current CVS tree.
Doing ./configure [options] in the root sets up the makefiles.
The available options (apart from the usual ones):
--with-ssleay=DIR
- Use an uninstalled copy of SSLeay (if you have SSLeay libraries
installed in one of the locations searched by g++ they will be
found automatically and you do not need this option). DIR should point
to the location of the libssl.a library.
--with-ssleay-includes=DIR
- If the SSL include files are not in the `include' subdirectory
of the root of the SSL tree (as specified with the previous option),
you can give an alternative directory here.
--enable-debug
- Enable the mnemonic debugging system. Very useful if you want to
be able to send us bug reports.
--prefix
- Use it!
It is highly recommended that you use a separate
subtree to install mnemonic, using the `--prefix' option of the
configure program. Our makefiles currently do not have an
`uninstall' target.
In order for the libraries to be picked up, you must add
$prefix/lib and $prefix/lib/mnemonic/msg
to your LD_LIBRARY_PATH environment variable. This
should be done before you attempt to build/install.
The object modules in $prefix/lib/mnemonic/oil will
be found automatically, you do not have to add this directory
to the search path.
Now do make install and have a coffee. You can compile
and test individual modules before installing them, but the above is a
shorthand that compiles and installs every module in turn, taking care
of dependencies (that's also why you need to have the
LD_LIBRARY_PATH set before you do the make). On a Pentium
II/233 with 96 Mb the entire `make install' takes about 15
minutes. The C++ compiler uses quite a bit of memory, so you probably
don't want to do this with less than 32 Mb.
The browser window can be popped up by sending an appropriate message
to the mnemonic object core. Running msg_run_client does
the trick (running mnemonic does the same thing). There
are also several test and demo programs in the various module
directories which do not, however, get installed.
If you encounter any problems, please let us know by posting
to one of the mailing lists.
In line with the Unix philosophy, mnemonic does not try to be one big
tool which tries to do everything by itself. A basic mnemonic
installation as described above will work, but performance and
functionality will be much better if you install some additional
software written by other people. Please take a look at the page on additional useful software.
|