Update
svn: r6954
This commit is contained in:
		
							
								
								
									
										299
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										299
									
								
								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