Table of Contents
*****************

1 INSTALL - how to compile and install GNU Solfege 2.1.7 on a GNU like system
  1.1 Download
    1.1.1 Source code
    1.1.2 Precompiled binaries
  1.2 Requirements
  1.3 Configuring and compiling
    1.3.1 `--with-buggy-distro'
    1.3.2 `--with-local-xmlcatalog'
    1.3.3 `--without-gnome'
    1.3.4 `--without-gtkhtml'
    1.3.5 `--disable-oss-sound'
  1.4 Packaging
    1.4.1 Debian
    1.4.2 Rpm-based distributions


1 INSTALL - how to compile and install GNU Solfege 2.1.7 on a GNU like system
*****************************************************************************

This file contains info on how to build and install GNU Solfege.  For
run-time info, check the README file and the man page.

   The homepage for GNU Solfege, `http://www.solfege.org', might also
be of interest.

1.1 Download
============

1.1.1 Source code
-----------------

The latest version is available from
`http://download.sourceforge.net/solfege' or (same server, other look)
`http://sourceforge.net/project/showfiles.php?group_id=1465'.

   The source code is also available from the GNU ftp sites and their
mirrors: `ftp://alpha.gnu.org/gnu/solfege' and
`ftp://ftp.gnu.org/gnu/solfege'.

1.1.2 Precompiled binaries
--------------------------

Precompiled binaries are made available for some releases. I build the
windows installer and the debian package myself. But I am depending on
users to provide binaries for other distributions. The debian package
is available directly from `http://www.debian.org'.  The rest are
available from Sourceforge: `http://download.sourceforge.net/solfege' or
`http://sourceforge.net/project/showfiles.php?group_id=1465'.

1.2 Requirements
================

The requirements are listed in the `README' file.

1.3 Configuring and compiling
=============================

     ./configure
     make
     su -c "make install"

   should work, and will install into

       /usr/local/bin
       /usr/local/share
       /usr/local/lib
       /usr/local/etc/solfege2.1

   Since Solfege require GNU m4 and GNU make, FreeBSD should do
something like this:

     M4=/usr/local/bin/gm4 ./configure
     gmake
     su -c "gmake install"

   If you first try without setting the `M4' variable, and see
configure fail, then you have to delete the file `config.cache' before
running the example above.

   Use the `--prefix' and `--sysconfdir' command line options to
install elsewhere. For example to install in your home directory:

     ./configure --prefix=$HOME/usr --sysconfdir=$HOME/etc
     make
     make install

   If you just want to run Solfege without installing, do this:
     ./configure
     make
     ./solfege.py

   The `configure' script can be given a number of options to enable
and disable various features. Some of them are described below.  For a
complete list, type:

     ./configure --help

1.3.1 `--with-buggy-distro'
---------------------------

Use this option if you have problems detecting some of the software that
are required, for example PyGNOME. Using this option will make the
configure script use black magick to check if software are installed
even if the linux distribution (for example RedHat 8.0) does not include
the proper files to check for this.

1.3.2 `--with-local-xmlcatalog'
-------------------------------

Use this option if your `/etc/xml/catalog' file is broken or missing.
If `/etc/xml/catalog' is missing, then `xsltproc' will fetch the DTD
using the network. With this option, the build system will use the file
`online-docs/stupid_catalog_file.cat' included in the Solfege source
tarball. You might have to edit the file if the file names is different
on your system.

1.3.3 `--without-gnome'
-----------------------

If found by `configure', Solfege will take advantage of functions in
the GNOME libraries. Use this option to build the application run
without GNOME even if the libraries are found.

1.3.4 `--without-gtkhtml'
-------------------------

If found by `configure', Solfege will be built to use gtkhtml2, the
htmlwidget included in GNOME2. Use this option to build the application
to run without gtkhtml2, even if the libraries are found.

1.3.5 `--disable-oss-sound'
---------------------------

Use this if you are compiling on an OS that don't have the OSS.  The
default is `--enable-oss-sound'.

1.4 Packaging
=============

1.4.1 Debian
------------

Rename `debian-dir' to `debian' and run:

     dpkg-buildpackage -rfakeroot -us -uc

1.4.2 Rpm-based distributions
-----------------------------

I have started to collection spec files for rpm-based distros. I depend
on users of these distributions to send me spec files. Also, I do not
test these spec files myself, so you should send me an update if some of
the Requires or BuildRequires fields are wrong. Please notice that
there may be a difference between version 9 and 9.1 of a distro. Give
me the exact version number!

   Here is an example how to build a binary rpm package for Red Hat 9.
Replace the filenames to fit your distro if required.

     cp solfege-2.1.7.tar.gz /usr/src/redhat/SOURCES/
     tar zxf solfege-2.1.7.tar.gz
     rpm -bb solfege-2.1.7/solfege.redhat9.spec
     rpm -i /usr/src/redhat/RPMS/i386/solfege-2.1.7

   Hopefully, binary rpm packages for some distributions will be
provided later.

