Next: Troubleshooting
Up: Overflow User's Manual
Previous: Extending Overflow
  Contents
Subsections
- An ANSI C++ compiler
- gcc 2.95.x is OK
- most of gcc 2.96 variants are OK
- gcc 3.0.x compiles, but there are run-time glitches
- egcs 1.1.2 is untested (probably doesn't work)
- MSVC++ is completely broken, but it possible build a subset of Overflow
with it (see here''Compiling on Win32'')
- HP's aCC should work after some minor modifications
- autoconf, automake, libtool (which require perl and m4)
- GNU make
- FFTW (now optional, but recommended) compiled with -enable-float
- gnome (including the development libraries and libxml)
- pthreads (now part of libc in most Linux distributions)
If you are using gcc, you can control optimization with the CFLAGS
and CXXFLAGS environment variables. For use on a Pentium III or an
Athlon XP, we suggest to set both CFLAGS and CXXFLAGS to: '-O3 -march=pentiumpro
-D_ENABLE_SSE'. For T-bird Athlon, we suggest replacing -D_ENABLE_SSE
by -D_ENABLE_3DNOW. This must be done before running configure.
Also, note that the default flags used if CFLAGS and CXXFLAGS are
not set are '-O2 -g'. It is strongly recommended not to compile
Overflow with -g unless you're really desperate, as the binaries
might take up to 600 MB of disk space (instead of 6-10 MB otherwise)
due to the C++ name mangling.
- -with-libtool-ld=<c++ compiler> You need to specify this option if
libtool tries to use ld to link the C++ libraries and executables.
These need to be linked with the C++ compiler (e.g. g++) because of
initializations that must be performed before the main() starts (On
Linux you most likely don't need that).
- -with-fftw-dir=<fftw path> If FFTW is not installed in a standard
path, you will need to specify this option.
- -disable-static This option is required. Overflow does not work with
static libraries (because it uses dlopen).
- -disable-<package> Doesn't build a certain package (<package> is
HMM, VQ, NNet, ...)
To compile, type:
% ./configure -disable-static -prefix=<your install directory>
% make
% make install
Notes:
- As of version 0.5.1, it is now recommended to set the install prefix
to /usr or /usr/local, unless you want to keep more than one version
installed at the same time.
- If you are using a CVS tarball, you need to use ./autogen.sh instead
of ./configure
- You might also need to set your LD_LIBRARY_PATH to <overflow prefix>/lib
You can now start the Overflow environment by typing :
% vflow (assuming <overflow prefix>/bin is in your path)
Some parts of Overflow (sorry, no GUI yet!) have been ported to Win32
(w/ MSVC++). Using the code generation feature (the "Build"
button on the toolbar), it is now possible to compile an overflow
application on Windows. Note that this has not been fully tested yet.
One important thing to note with MSVC++ (version 6.0) is that it is
a very buggy compiler, mostly when it comes to templates. For example,
it does not support template partial specialization and it chokes
on a lot of valid template code (static template member functions,
pointer to template functions, ...). For this reasons some Overflow
features need to be switched off.
So here are the settings you need for Overflow. First, you need to
turn on RTTI (which is not enabled by default). Also, I suggest you
turn the warnings off. The preprocessor flags (define) you need to
set are: BROKEN_TEMPLATES, HAVE_FLOAT_H, NO_HASH_MAP, STUPID_COMPLEX_KLUDGE
and (if not already defined), WIN32.
Next: Troubleshooting
Up: Overflow User's Manual
Previous: Extending Overflow
  Contents
Jean-Marc Valin
2002-06-17