Update
svn: r6954
This commit is contained in:
		
							
								
								
									
										299
									
								
								gramps2/INSTALL
									
									
									
									
									
								
							
							
						
						
									
										299
									
								
								gramps2/INSTALL
									
									
									
									
									
								
							@@ -1,97 +1,236 @@
 | 
			
		||||
$Id$
 | 
			
		||||
Installation Instructions
 | 
			
		||||
*************************
 | 
			
		||||
 | 
			
		||||
This file contains some useful details on the installation from source code
 | 
			
		||||
for GRAMPS. It does not cover installation of a pre-built binary package.
 | 
			
		||||
For that use your package manager, the rest is already done by the packager.
 | 
			
		||||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
 | 
			
		||||
Software Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
This file is free documentation; the Free Software Foundation gives
 | 
			
		||||
unlimited permission to copy, distribute and modify it.
 | 
			
		||||
 | 
			
		||||
configure vs autogen scripts
 | 
			
		||||
----------------------------
 | 
			
		||||
If you are building from released tarball, you should be able to just
 | 
			
		||||
run "./configure && make". However, if you're building from the SVN,
 | 
			
		||||
the configure is not present. You should auto-generate it by
 | 
			
		||||
running ./autogen.sh and then "make" and, finally, "make install".
 | 
			
		||||
Basic Installation
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
Running ./autogen.sh on this branch of gramps requires the following
 | 
			
		||||
packages to be installed:
 | 
			
		||||
   * automake-1.9
 | 
			
		||||
   * gnome-common
 | 
			
		||||
   * intltool
 | 
			
		||||
   * libglib2.0-dev (may be called differently on other distros) and
 | 
			
		||||
maybe something else. If autogen.sh fails, it should inform you what's
 | 
			
		||||
missing.
 | 
			
		||||
These are generic installation instructions.
 | 
			
		||||
 | 
			
		||||
   The `configure' shell script attempts to guess correct values for
 | 
			
		||||
various system-dependent variables used during compilation.  It uses
 | 
			
		||||
those values to create a `Makefile' in each directory of the package.
 | 
			
		||||
It may also create one or more `.h' files containing system-dependent
 | 
			
		||||
definitions.  Finally, it creates a shell script `config.status' that
 | 
			
		||||
you can run in the future to recreate the current configuration, and a
 | 
			
		||||
file `config.log' containing compiler output (useful mainly for
 | 
			
		||||
debugging `configure').
 | 
			
		||||
 | 
			
		||||
Regular vs local installation
 | 
			
		||||
-----------------------------
 | 
			
		||||
This version of gramps requires, among others, the two things to be done:
 | 
			
		||||
gconf schemas and mime types for gramps MUST be properly installed.
 | 
			
		||||
The usual ./configure, make, and make install as a root should do the trick.
 | 
			
		||||
But be careful if you're using the non-default options or would like
 | 
			
		||||
to install without being root.
 | 
			
		||||
   It can also use an optional file (typically called `config.cache'
 | 
			
		||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
 | 
			
		||||
the results of its tests to speed up reconfiguring.  (Caching is
 | 
			
		||||
disabled by default to prevent problems with accidental use of stale
 | 
			
		||||
cache files.)
 | 
			
		||||
 | 
			
		||||
The latter is possible, but you should supply additional arguments to
 | 
			
		||||
autogen or configure:
 | 
			
		||||
   --with-gconf-source=xml::$HOME/.gconf
 | 
			
		||||
   --with-gconf-schema-file-dir=$HOME
 | 
			
		||||
   --with-mime-dir=$HOME/.local/share/mime
 | 
			
		||||
Most likely, such local install will also need some prefix with write
 | 
			
		||||
permissions for you:
 | 
			
		||||
   --prefix=$HOME/my_gramps_path
 | 
			
		||||
   If you need to do unusual things to compile the package, please try
 | 
			
		||||
to figure out how `configure' could check whether to do them, and mail
 | 
			
		||||
diffs or instructions to the address given in the `README' so they can
 | 
			
		||||
be considered for the next release.  If you are using the cache, and at
 | 
			
		||||
some point `config.cache' contains results you don't want to keep, you
 | 
			
		||||
may remove or edit it.
 | 
			
		||||
 | 
			
		||||
Whether you're doing local install or regular install,
 | 
			
		||||
YOU MUST INSTALL GCONF SCHEMAS AND MIME TYPES.
 | 
			
		||||
YOU HAVE BEEN WARNED!
 | 
			
		||||
   The file `configure.ac' (or `configure.in') is used to create
 | 
			
		||||
`configure' by a program called `autoconf'.  You only need
 | 
			
		||||
`configure.ac' if you want to change it or regenerate `configure' using
 | 
			
		||||
a newer version of `autoconf'.
 | 
			
		||||
 | 
			
		||||
The simplest way to compile this package is:
 | 
			
		||||
 | 
			
		||||
Installing under non-default prefix
 | 
			
		||||
-----------------------------------
 | 
			
		||||
As hinted above, the gconf schemas and mime types for gramps
 | 
			
		||||
MUST be properly installed. The "proper install" means installing
 | 
			
		||||
them where gconfd and shared mime system, respectively, will
 | 
			
		||||
find them.
 | 
			
		||||
  1. `cd' to the directory containing the package's source code and type
 | 
			
		||||
     `./configure' to configure the package for your system.  If you're
 | 
			
		||||
     using `csh' on an old version of System V, you might need to type
 | 
			
		||||
     `sh ./configure' instead to prevent `csh' from trying to execute
 | 
			
		||||
     `configure' itself.
 | 
			
		||||
 | 
			
		||||
By default, gconfd will look in these places:
 | 
			
		||||
   1. Whatever is returned by running:
 | 
			
		||||
      $ gconftool-2 --get-default-source
 | 
			
		||||
   2. The xml::$HOME/.gconf        : this is a per-user setup, not system-wide
 | 
			
		||||
      or  xml:merged:$HOME/.gconf  : this is a per-user setup, not system-wide
 | 
			
		||||
There is a number of ways to let gconfd know where else
 | 
			
		||||
to look, but this is outside the scope of installing gramps.
 | 
			
		||||
     Running `configure' takes awhile.  While running, it prints some
 | 
			
		||||
     messages telling which features it is checking for.
 | 
			
		||||
 | 
			
		||||
By default, the shared mime systems will look in these places:
 | 
			
		||||
   1. /usr/share/mime
 | 
			
		||||
   2. /usr/local/share/mime   : this may be broken on some systems
 | 
			
		||||
   3. $HOME/.local/share/mime : this is a per-user setup, not system-wide
 | 
			
		||||
Likewise, there's a number of ways to instruct the shared mime system
 | 
			
		||||
to look in other places, but this is the whole other story.
 | 
			
		||||
  2. Type `make' to compile the package.
 | 
			
		||||
 | 
			
		||||
So if you install some place other than /usr/share, you will most
 | 
			
		||||
likely need to add this option to autogen.sh/configure scripts:
 | 
			
		||||
   --with-mime-dir=/usr/share/mime
 | 
			
		||||
  3. Optionally, type `make check' to run any self-tests that come with
 | 
			
		||||
     the package.
 | 
			
		||||
 | 
			
		||||
Using the --prefix=/usr/share and installing as a root will most
 | 
			
		||||
likely do everything correctly, so no extra care needs to be
 | 
			
		||||
taken. You should take extra care only if you are installing under
 | 
			
		||||
something like --prefix=/usr/local/my_gramps, /var/gramps123/blah, etc.
 | 
			
		||||
  4. Type `make install' to install the programs and any data files and
 | 
			
		||||
     documentation.
 | 
			
		||||
 | 
			
		||||
  5. You can remove the program binaries and object files from the
 | 
			
		||||
     source code directory by typing `make clean'.  To also remove the
 | 
			
		||||
     files that `configure' created (so you can compile the package for
 | 
			
		||||
     a different kind of computer), type `make distclean'.  There is
 | 
			
		||||
     also a `make maintainer-clean' target, but that is intended mainly
 | 
			
		||||
     for the package's developers.  If you use it, you may have to get
 | 
			
		||||
     all sorts of other programs in order to regenerate files that came
 | 
			
		||||
     with the distribution.
 | 
			
		||||
 | 
			
		||||
Packager's issues
 | 
			
		||||
------------------
 | 
			
		||||
The above mentioned gconf schemas and mime types must be installed.
 | 
			
		||||
However, the update-mime-database and the gconftool-2 calls to process
 | 
			
		||||
the newly installed types and schemas must be done in POST-INSTALLATION.
 | 
			
		||||
In packager's world, the install happens on packager's machine
 | 
			
		||||
into something like /tmp/gramps-tmp. However, the postinstall
 | 
			
		||||
should happen on the user's machine.
 | 
			
		||||
Compilers and Options
 | 
			
		||||
=====================
 | 
			
		||||
 | 
			
		||||
Some systems require unusual options for compilation or linking that the
 | 
			
		||||
`configure' script does not know about.  Run `./configure --help' for
 | 
			
		||||
details on some of the pertinent environment variables.
 | 
			
		||||
 | 
			
		||||
   You can give `configure' initial values for configuration parameters
 | 
			
		||||
by setting variables in the command line or in the environment.  Here
 | 
			
		||||
is an example:
 | 
			
		||||
 | 
			
		||||
     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
 | 
			
		||||
 | 
			
		||||
   *Note Defining Variables::, for more details.
 | 
			
		||||
 | 
			
		||||
Compiling For Multiple Architectures
 | 
			
		||||
====================================
 | 
			
		||||
 | 
			
		||||
You can compile the package for more than one kind of computer at the
 | 
			
		||||
same time, by placing the object files for each architecture in their
 | 
			
		||||
own directory.  To do this, you must use a version of `make' that
 | 
			
		||||
supports the `VPATH' variable, such as GNU `make'.  `cd' to the
 | 
			
		||||
directory where you want the object files and executables to go and run
 | 
			
		||||
the `configure' script.  `configure' automatically checks for the
 | 
			
		||||
source code in the directory that `configure' is in and in `..'.
 | 
			
		||||
 | 
			
		||||
   If you have to use a `make' that does not support the `VPATH'
 | 
			
		||||
variable, you have to compile the package for one architecture at a
 | 
			
		||||
time in the source code directory.  After you have installed the
 | 
			
		||||
package for one architecture, use `make distclean' before reconfiguring
 | 
			
		||||
for another architecture.
 | 
			
		||||
 | 
			
		||||
Installation Names
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
By default, `make install' installs the package's commands under
 | 
			
		||||
`/usr/local/bin', include files under `/usr/local/include', etc.  You
 | 
			
		||||
can specify an installation prefix other than `/usr/local' by giving
 | 
			
		||||
`configure' the option `--prefix=PREFIX'.
 | 
			
		||||
 | 
			
		||||
   You can specify separate installation prefixes for
 | 
			
		||||
architecture-specific files and architecture-independent files.  If you
 | 
			
		||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
 | 
			
		||||
PREFIX as the prefix for installing programs and libraries.
 | 
			
		||||
Documentation and other data files still use the regular prefix.
 | 
			
		||||
 | 
			
		||||
   In addition, if you use an unusual directory layout you can give
 | 
			
		||||
options like `--bindir=DIR' to specify different values for particular
 | 
			
		||||
kinds of files.  Run `configure --help' for a list of the directories
 | 
			
		||||
you can set and what kinds of files go in them.
 | 
			
		||||
 | 
			
		||||
   If the package supports it, you can cause programs to be installed
 | 
			
		||||
with an extra prefix or suffix on their names by giving `configure' the
 | 
			
		||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
 | 
			
		||||
 | 
			
		||||
Optional Features
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
Some packages pay attention to `--enable-FEATURE' options to
 | 
			
		||||
`configure', where FEATURE indicates an optional part of the package.
 | 
			
		||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
 | 
			
		||||
is something like `gnu-as' or `x' (for the X Window System).  The
 | 
			
		||||
`README' should mention any `--enable-' and `--with-' options that the
 | 
			
		||||
package recognizes.
 | 
			
		||||
 | 
			
		||||
   For packages that use the X Window System, `configure' can usually
 | 
			
		||||
find the X include and library files automatically, but if it doesn't,
 | 
			
		||||
you can use the `configure' options `--x-includes=DIR' and
 | 
			
		||||
`--x-libraries=DIR' to specify their locations.
 | 
			
		||||
 | 
			
		||||
Specifying the System Type
 | 
			
		||||
==========================
 | 
			
		||||
 | 
			
		||||
There may be some features `configure' cannot figure out automatically,
 | 
			
		||||
but needs to determine by the type of machine the package will run on.
 | 
			
		||||
Usually, assuming the package is built to be run on the _same_
 | 
			
		||||
architectures, `configure' can figure that out, but if it prints a
 | 
			
		||||
message saying it cannot guess the machine type, give it the
 | 
			
		||||
`--build=TYPE' option.  TYPE can either be a short name for the system
 | 
			
		||||
type, such as `sun4', or a canonical name which has the form:
 | 
			
		||||
 | 
			
		||||
     CPU-COMPANY-SYSTEM
 | 
			
		||||
 | 
			
		||||
where SYSTEM can have one of these forms:
 | 
			
		||||
 | 
			
		||||
     OS KERNEL-OS
 | 
			
		||||
 | 
			
		||||
   See the file `config.sub' for the possible values of each field.  If
 | 
			
		||||
`config.sub' isn't included in this package, then this package doesn't
 | 
			
		||||
need to know the machine type.
 | 
			
		||||
 | 
			
		||||
   If you are _building_ compiler tools for cross-compiling, you should
 | 
			
		||||
use the option `--target=TYPE' to select the type of system they will
 | 
			
		||||
produce code for.
 | 
			
		||||
 | 
			
		||||
   If you want to _use_ a cross compiler, that generates code for a
 | 
			
		||||
platform different from the build platform, you should specify the
 | 
			
		||||
"host" platform (i.e., that on which the generated programs will
 | 
			
		||||
eventually be run) with `--host=TYPE'.
 | 
			
		||||
 | 
			
		||||
Sharing Defaults
 | 
			
		||||
================
 | 
			
		||||
 | 
			
		||||
If you want to set default values for `configure' scripts to share, you
 | 
			
		||||
can create a site shell script called `config.site' that gives default
 | 
			
		||||
values for variables like `CC', `cache_file', and `prefix'.
 | 
			
		||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
 | 
			
		||||
`PREFIX/etc/config.site' if it exists.  Or, you can set the
 | 
			
		||||
`CONFIG_SITE' environment variable to the location of the site script.
 | 
			
		||||
A warning: not all `configure' scripts look for a site script.
 | 
			
		||||
 | 
			
		||||
Defining Variables
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
Variables not defined in a site shell script can be set in the
 | 
			
		||||
environment passed to `configure'.  However, some packages may run
 | 
			
		||||
configure again during the build, and the customized values of these
 | 
			
		||||
variables may be lost.  In order to avoid this problem, you should set
 | 
			
		||||
them in the `configure' command line, using `VAR=value'.  For example:
 | 
			
		||||
 | 
			
		||||
     ./configure CC=/usr/local2/bin/gcc
 | 
			
		||||
 | 
			
		||||
causes the specified `gcc' to be used as the C compiler (unless it is
 | 
			
		||||
overridden in the site shell script).  Here is a another example:
 | 
			
		||||
 | 
			
		||||
     /bin/bash ./configure CONFIG_SHELL=/bin/bash
 | 
			
		||||
 | 
			
		||||
Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
 | 
			
		||||
configuration-related scripts to be executed by `/bin/bash'.
 | 
			
		||||
 | 
			
		||||
`configure' Invocation
 | 
			
		||||
======================
 | 
			
		||||
 | 
			
		||||
`configure' recognizes the following options to control how it operates.
 | 
			
		||||
 | 
			
		||||
`--help'
 | 
			
		||||
`-h'
 | 
			
		||||
     Print a summary of the options to `configure', and exit.
 | 
			
		||||
 | 
			
		||||
`--version'
 | 
			
		||||
`-V'
 | 
			
		||||
     Print the version of Autoconf used to generate the `configure'
 | 
			
		||||
     script, and exit.
 | 
			
		||||
 | 
			
		||||
`--cache-file=FILE'
 | 
			
		||||
     Enable the cache: use and save the results of the tests in FILE,
 | 
			
		||||
     traditionally `config.cache'.  FILE defaults to `/dev/null' to
 | 
			
		||||
     disable caching.
 | 
			
		||||
 | 
			
		||||
`--config-cache'
 | 
			
		||||
`-C'
 | 
			
		||||
     Alias for `--cache-file=config.cache'.
 | 
			
		||||
 | 
			
		||||
`--quiet'
 | 
			
		||||
`--silent'
 | 
			
		||||
`-q'
 | 
			
		||||
     Do not print messages saying which checks are being made.  To
 | 
			
		||||
     suppress all normal output, redirect it to `/dev/null' (any error
 | 
			
		||||
     messages will still be shown).
 | 
			
		||||
 | 
			
		||||
`--srcdir=DIR'
 | 
			
		||||
     Look for the package's source code in directory DIR.  Usually
 | 
			
		||||
     `configure' can determine that directory automatically.
 | 
			
		||||
 | 
			
		||||
`configure' also accepts some other, not widely useful, options.  Run
 | 
			
		||||
`configure --help' for more details.
 | 
			
		||||
 | 
			
		||||
To assist with that, there's an argument available in configure
 | 
			
		||||
(or autogen, which will pass it to configure) which disables
 | 
			
		||||
the gconf schema and mime type processing:
 | 
			
		||||
   --enable-packager-mode
 | 
			
		||||
This argument should disable postinstall calls made during
 | 
			
		||||
make install, and print a nasty warning during configure.
 | 
			
		||||
IT IS PACKAGER'S RESPONSIBILITY to follow the advice given
 | 
			
		||||
by the configure output and to copy the appropriate code
 | 
			
		||||
from the src/data/Makefile.am into the post-install (and post-uninstall)
 | 
			
		||||
of the particular packaging system.
 | 
			
		||||
 
 | 
			
		||||
@@ -86,9 +86,7 @@ dist_pkgdata_DATA = \
 | 
			
		||||
	stock_notes.png\
 | 
			
		||||
	tools.png\
 | 
			
		||||
	somerights20.gif \
 | 
			
		||||
	document.png
 | 
			
		||||
	#\
 | 
			
		||||
	#$(map_tile_images)
 | 
			
		||||
	document.png #\ $(map_tile_images)
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = gramps.svg 
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user