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