EDoc++ has a few requirements, largely based on the fact that it builds patched versions of GCC and Doxygen which themselves have a number of requirements. Below is a list of tools and libraries that will be necessary in order to build, run or maintain EDoc++. Many of the requirements are listed here with associated package names. These are the package names as used by my Ubuntu linux system and may differ for other systems.
libbfd
EDoc++ uses libbfd which is part of the GNU binutils package. EDoc++ has been compiled and tested with the libbfd distributed in version 2.15 of the binutils package.
Note: On some systems this may not have a runtime package as it is often built as a static library, in which case it will not be a runtime dependency.
python2.4
libltdl3
ldd
This is part of the libc6-dev package on my system. This package should usually already be installed. The particular version of libc is unimportant.
libiconv
The following tools and libraries are required in order to build EDoc++ from source. A large number of these requirements are from eithre GCC or Doxygen, both of which are compiled as part of EDoc++.
GNU Make
GCC will not compile with many standard make variants. It uses features specific to the GNU version of make and since EDoc++ must compile a modified version of GCC it also requires GNU make to build it successfully.
Note: On some systems GNU make is invoked with the command: "gmake"
texinfo
flex/bison
binutils-dev
EDoc++ uses libbfd which is part of the GNU binutils package. EDoc++ has been compiled and tested with the libbfd distributed in version 2.15 of the binutils package.
Without this library available libEDocBFD will not be compiled and extracting EDoc++ data embedded directly into binary files will not be possible.
python2.4-dev
This will need to be the dev version if your distribution separates out the dev version from the user version. This is because the edoc application embeds a python interpreter and will need to link with the python library directly.
libltdl3-dev
ldd
This is part of the libc6-dev package on my system. This package should usually already be installed. The particular version of libc is unimportant.
libiconv-dev
g++, libstdc++,
Required to build any C++ applications from source.
Listed below are the tools I use in order to maintain EDoc++. This may be helpful for any people that wish to play with the EDoc++ sources.
rpmbuild
This tool came from the rpm package on my system. It is used for creating rpm packages.
debuild
This tool is used for building debian packages and was part of the devscripts package. It also required the fakeroot package to be installed to operate correctly.
dh_make
This program is used to simplify the process of creating a debian package. It was found in the dh-make package.
autoconf
automake
libtool
swig >= 1.3.31
Note: Earlier versions of SWIG will generate incorrect wrapper sources.
amara
This is a python module used when creating distributions in order to update the XML doxumentation. These is a small script that will run various commands and place the output of those commands directly into the XML source of the manual or man page.
To install amara:
Download ez_setup.py script (easy install package) from: http://peak.telecommunity.com/dist/ez_setup.py
As root user install the easy-install package:
python ./ez_setup.py
As root imstall amara using easy-install
easy_install Amara
xsltproc
This tool is used to generate HTML documentation from the Docbook XML. This also requires that certain stylesheets be available. Currently the following are needed:
docbook5-xsl-1.72.0.tar.bz2
docbook-xml-4.5.zip
Note: The Makefile currently expects that these two archives be extracted into the source tree under <edoc-project>/docs/manual/docbook5-xsl-1.72.0 and <edoc-project>/docs/manual/docbook-xml-4.5
XML Mind Editor
This can be obtained for free from: http://www.xmlmind.com/xmleditor/
To use this you will need to install Sun JRE: sun-java5-jre
docbook2x-man
This is used to create the man pages from docbook format into the standard man format. We use docbook to write man pages as some of the man page contents is updated automatically by a script that modifies the XML. On my system this was installed with the package docbook2x
This is more for myself than others but listed below are the packages required for various systems. It is here to save me time remembering what needs to be installed on new systems.
Ubuntu (Fiesty):
apt-get install texinfo flex bison binutils-dev python2.4-dev libltdl3-dev g++ rpm devscripts dh-make autoconf automake libtool xsltproc cvs swig1.3 fakeroot docbook2x
Then install Amara and XML Mind editor manually
Fedora 7:
yum install binutils-devel texinfo flex bison autoconf automake cvs libtool python-devel swig gcc-c++ docbook2X
Then install Amara and XML Mind editor manually
@@@Brendon xsltproc, docbook2x