1LifeLines Source Release, Version 3.1.1
2http://marcno.github.io/lifelines/
3-------------------------------------------------------------------------
4
5********************************
6Contents:
71. General (UNIX) installation
8 1a) Dependencies
9 1b) Specific Issues
102. Platform specific notes
11 2a) Platforms supported out-of-the-box
12 2b) Microsoft Windows
13 2c) cygwin
14 2d) rpm packages
15 2e) Debian binaries
16 2f) gcc 2.7.2.1
17 2g) curses
18 2h) Mac OS X
19********************************
20
21
22
23******************************
241. General (UNIX) installation
25******************************
26
27
28This is the source distribution of the LifeLines system, a genealogy
29software system.
30
31(If you are building from cvs sources, you will not have a configure
32script, and you should be reading the README.DEVELOPERS instructions.)
33
34LifeLines should compile correctly using GNU gcc or any native C compiler.
35It also will build using the Cygnus tools on Windows (but see note in the
36platform notes section below).
37
38To build and install LifeLines, do the following:
39
40	./configure (if that does't work, try 'sh ./configure')
41	make
42	make install
43
44If you do not have gettext & iconv installed, you may need to use
45	./configure --disable-nls
46
47This will generate Makefiles suitable for your platform and then build
48and install the LifeLines programs.  You will end up with the following
49executables (installed in various places, depending on your platform):
50
51llines   -- main LifeLines system program
52llexec   -- non-interactive version, useful for running reports
53btedit   -- general purpose btree edit program
54dbverify -- checks a LifeLines database for problems
55
56llines is the main LifeLines program.
57
58lllexec is a non-interactive version of the main program, and is
59handy for automatically running reports against a given database.
60
61dverify can be used to verify the correctness of a LifeLines database.
62This is handy if you're storing databases on floppies, or just for
63peace of mind.
64
65btedit is a administration tool used for unmangling mangled databases,
66and is extremely powerful.  You should only use this program under the
67expert guidance of a LifeLines developer.
68
69docs:
70Pregenerated versions of the documentation are included, in
71html, pdf, and text formats, so it is not necessary to have
72these tools installed.
73
74If you are tracking the git repository and want to be able to rebuild
75your documentation as changes are made, you must run configure
76with the "--with-docs" option.  This has some large dependencies;
77see below for more information.
78
79******************************
801a) Dependencies
81******************************
82lifelines has a number of dependencies and they vary depending on
83how you build lifelines. (Avoid gcc version 2.7.2.1)
841. General dependencies:
85   ncurses
862. Building from source code repository:
87   automake
88   autoconf
89   bison
903. Document Generation
91   Regeneration of the docs requires tools to convert from xml to html, pdf,
92   and text.  Currently the tools being used are:
93   xmlto
94   dblatex
95   texlive-cmap
964. Multiple Language support - processed files are checked into cvs, but
97   to rebuild the language files:
98   gettext
99   iconv
100
101******************************
1021b) Specific Issues
103******************************
104
105GETTEXT
106
107If configure succeeds, but make fails very early with an error like so:
108
109  cd ../../po && rm -f da.gmo && : -c --statistics -o da.gmo da.po
110  mv: cannot stat `t-da.gmo': No such file or directory
111  ...
112
113then you probably do not have the gettext tools -- the commandline
114tools needed for development, which are needed to compile, and
115are generally a separate package from the runtime libraries needed
116by running programs.
117
118**************************
1192. Platform specific notes
120**************************
121
122*********************
1232a) Platforms supported out-of-the-box
124*********************
125
126Many unix systems should be supported out-of-the-box with the tarball
127(lifelines-x.y.z.tar.gz) distribution.
128
129Reported successes include:
130 lifelines-3.0.46:
131   Fedora Core 3
132   FreeBSD 4.11-STABLE
133   OS X 10.3.9
134
135
136*********************
1372b) Microsoft Windows
138*********************
139
140For installing the binary distribution on MS-Windows, refer to the
141file Install.LifeLines.Windows.txt included in that distribution
142(& also included in the docs subdirectory of the source
143distributions).
144
145For compiling from source on MS-Windows, if using cygwin, refer to
146the General (UNIX) instruction above (and see also the cygwin note
147below). If using MS Visual C++, you may use the project files
148included in the subdirectories beneath /win32/msvc6 (which are
149currently used by Perry to generate the binaries in the MS-Windows
150binary distribution).
151
152
153**********
1542c) Cygwin
155**********
156
157Cygwin is a UNIX environment for MS-Windows.
158    http://sources.redhat.com/cygwin
159The lines around the boxes in the lifelines curses GUI use OEM
160box characters, and so only display correctly with this setting:
161    export CYGWIN=codepage:oem
162This of course affects the console code page. If all your data is
163ASCII, this solution may work fine for you. Otherwise, you may
164invoke llines with the -z switch to suppress curses graphics, and
165use primitive ASCII graphics. This is not particularly attractive,
166but is usable. Suggestions are welcome.
167Note that the -z commandline switch was added after the 3.0.9
168release.
169
170To compile libiconv on cygwin, I had to compile it statically, eg,
171(in libiconv directory)
172   ./configure --enable-static --disable-shared
173
174
175***************
1762d) rpm packages
177***************
178
179The source distribution includes the spec file to create rpm
180packages.
181
182***************
1832e) Debian packages
184***************
185
186Christian Perrier maintains a Debian port of linux.
187See:
188http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&version=all&exact=1&keywords=lifelines
189
190
191***************
1922f) gcc 2.7.2.1
193***************
194
195gcc 2.7.2.1 does not understand -Wreturn-type, so this
196must be removed from configure and from CFLAGS in
197interp/Makefile* files. This must be done before configuring,
198because it causes configure tests to fail spuriously.
199(Jan, 2002)
200
201
202**********
2032g) curses
204**********
205
206Compiling with curses (lacking ncurses) on a BSDI 3.1 box,
207I had to add
208    -ltermcap
209to the LIBS line in liflines/Makefile. (The symptom was
210"unknown symbol... _tputs.)
211However, I wound up core dumping at run-time, so I don't know
212what is going on.
213(Perry, Jan, 2002)
214
215
216************
2172h) Mac OS X
218************
219
220Please see the following page about LifeLines on Mac OS X:
221    http://homepage.mac.com/shrubbery/LifeLines
222(which is also available via the Apple downloads site and Stepwise.)
223This page offers both precompiled binaries and instructions for
224compilation.
225NB: Because the gnu tests for platform didn't recognize Darwin,
226on older versions, perhaps before 10.2.x, it was necessary to pass
227an argument to configure, eg,
228   ./configure ppc
229There is no specific code needed for Darwin; this is just to avoid
230the macros getting angry at the unknown output from "uname -a".
231
232
233