1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
These are instructions to help build Eris, the WorldForge client-side
entity framework. For a more complete discussion of the functions
and goals of Eris, please see the README file, which should be in
the same directory as this document.
The AUTHORS file lists people who can help you if you run into
problems; otherwise you can try the WorldForge mailing lists (note
you must be subscribed to post) or IRC at irc.worldforge.org,
in channels #coders and #eris.
Linux / *inx
You need to have Atlas-C++, skstream2, WFMath and libsigc++ to build
Eris. In addition it is assumed you have an up-to-date C++ compiler
and STL implementation (GCC 2.95 is the lowest tested version,
GG 2.91 will probably not work). If you find other compilers that
work or fail, please let me (James) know.
Atlas-C++, skstream and WFMath are available as tarballs (and
possibly compiled packages, depending on your system) from
ftp.worldforge.org. The Eris configure script will test for the
appropriate minimum versions : at the time of writing, Atlas-C++
0.4.4 and skstream2 0.2.2 are required. Alternatively, you can
compile the libraries from CVS. This requires more work, see the
notes at the bottom of this document.
libSigC++ is included with some distributions, but most
people will need to install from a tarball or package. As a
convenience, we provide source and binary rpms from various
current distributions in the 'third-party' directory on
ftp.worldforge.org. Otherwise get the library in your preferred
format from:
http://libsigc.sourceforge.net/
Due to variations in the C++ ABI, do NOT use a binary version
compiled for a distribution other than your own; you may be able
to compile code but then fail at link-time or run-time with
very unpleasant errors. This includes differences in the C library
version, the compiler itself, and the standard C++ library. You
can test your installation by running the following command from a shell:
pkg-config --modversion sigc++-1.2
This should print out the libSigC++ version number; if pkg-config
reports that the sigc package is unknown, you are probably missing
the development package, or if you installed from source, installed
to some location that pkg-config doesn't know about (you may need
to set the PKGCONFIG_PATH environment variable)
Optionally, you can install CppUnit (available at cppunit.sf.net),
and 'make check' will then run a suite of unit tests which cover
a small but growing set of the code. This is especially useful if
you are porting or extending Eris. You can compile and install Eris
perfectly without this library, however.
If Gtk-2.0 is detected, Eris will build a Poll implementation that
integrated directly with the Gtk mainloop, so if you are planning
to work on a Gtk-2 based client, make sure Gtk-2 is installed before
you build Eris.
Once these pre-requisites are satisfied, you can proceed with
compiling Eris. This should be a standard 'configure; make;
make install' process. At present there are no special arguments,
but verify everything goes okay. If you get errors about libraries
not being found, and you believe they are installed, do NOT hack
around the problem in configure. Verify that you have the correct
development packages installed and that pkg-config has located
the configuration files for each library. Also make sure you've
run ldconfig if you just installed the libraries form source,
otherwise the test programs configure tries to compile won't work.
Assuming configure is successful, simply 'make' and 'make
install'. That's it. If you get compilation errors, please get
in touch with the maintainers. In order to test that everything
worked, try compiling one of the clients that uses Eris (listed in
the README)
If you have Doxygen installed, executing 'make doc' will build
the documentation; at present only HTML is built. Edit eris.dox to
change the output formats / styles. If you find errors or omissions
in the documentation, please let me (James) know.
MSVC
This might work, though you'll need to link libSigc++ statically. Using
VC .NET may help, since the C++ compiler is greatly improved. If you
try to compile using MSVC, please let me know, whatever the outcome,
so I can update this section
OS-X / ProjectBuilder
A autoconf based build will work fine, assuming you have pkg-config and
the like available (for example, from Fink). Fink may also provide a
libSigc++ package in the future, though right now you need to install
that from a tarball.
However, the good news is that I will be adding a .pbroj file for
Eris in the near future, just as soon as I get libSigc++ packaged as
a framework.
|