LifeLines stork logo

LifeLines, second generation genealogy software
original author
Tom Wetmore

community
LINES-L discussion list established 1992 by Cliff Manis, now owned by Marc Nozell

documentation
The official manual is now included in the distributions. Nonetheless, here are some snapshots:
3.1.1 Manuals 3.0.62 Manuals

tools


reports
Updated report scripts are now included with the Lifelines kit.
all reports posted on LINES-L by Vincent P. Broman
genealogical charts in PostScript by John S. Quarterman

previous versions
old repository at ftp://hoth.stsci.edu no longer works
Copy of Tom Wetmore's 3.0.2 docs: online or 3.0.5 Windows95/NT port by Paul McBride
- description of changes

projects
GenWeb site by Scott McGee
WW-Person by Herbert Stoyan
GenServ home page by Cliff Manis

links
Dan Hirschberg
Denis Roegel
Petter Reinholdtsen


LifeLines FAQ

File Modified: 01/01/2006 02:51:06 pm

Acknowledgements

Thanks to Tom Wetmore for creating LifeLines and making it an open source project!
Many thanks to the team of programmers who have continued to improve LifeLines. Chris Eagle, D.A. Bright, Dave Furstenau, David Morris, edge, James Morrison, Jens Arvidsson, Jerry James, Jesper Zedlitz, John F. Chandler, Marc Nozell, Matthew Emmerton, Paul B. McBride, Perry Rapp, Petter Reinholdtsen, Phillip David, Rob Fugina, Robert Simms, Steve Dum.

I especially want to thank all of the individuals from the LINES-L Mailing List who gave ideas for topics, made suggestions, gave correction, and answered a slew of questions. Without them, this effort would have been only what my knowledge contained. This is truly a team effort. I have learned much, and become a more knowledgeable LifeLines user in the process.

Thanks to: Perry Rapp, Steve Dum, Frank Flaesland, Christopher Sawtell, Jim Smilanich, Tom Wetmore, David Wolfskill, David Martin, Richard Grubb, Matt Emmerton, and Peter Fales. If I have missed anyone, it is simply an oversight. Let me know, and I will add your name to the list.

Larry Hamilton
November 22, 2005

Contents

  1. What is LifeLines?
  2. Where do I get LifeLines?
  3. Where do I get support?
  4. Who wrote LifeLines?
  5. How much does LifeLines cost?
  6. How do I submit a bug report?
  7. How do I request a new feature be added to LifeLines?
  8. How do I update or add a report I wrote to the repository?
  9. What text editors work with LifeLines?
  10. How do I close the text editor and return to the menu?
  11. Where do I get the LifeLines FAQ?
  12. How do I report errors in the FAQ/suggest new items?
  13. What is a text editor?
  14. Is syntax highlighting available?
  15. How do I install LifeLines on Windows?
  16. How do I get started with LifeLines on Windows?
  17. I need a report to do X.
  18. What is GEDCOM?
  19. Does LifeLines support XML?
  20. Can I include binary data such as graphics, sound, or video?
  21. How do I protect the privacy of information I collect?
  22. Can I generate HTML pages?
  23. Will there ever be a GUI for LifeLines?
  24. What Operating Systems are supported?
  25. In what programming language is LifeLines written?
  26. What languages are available for the interface?
  27. Can I volunteer to be a developer?
  28. Can I help improve LifeLines?
  29. How can I support LifeLines?
  30. How do I create a translation file (po)?
  31. Can I see the source code?
  32. How do I download reports/documentation from online CVS?
  33. What license is LifeLines Distributed under?
  34. I get an error when I try to import my GEDCOM, and nothing gets imported.
  35. I want to keep the same INDI and FAM record numbers as are in my GEDCOM.
  36. I get a message that a reference number is already in use.
  37. I want to change the default template for each record for editing.
  38. I want to change the date format.
  39. I want to require a certain behavior in LifeLines.
  40. How many databases can I have?
  41. What is the maximum size of a LifeLines database?
  42. I exported a GEDCOM on Linux and Windows and the Linux database is a lot smaller.
  43. I dual-boot Linux and Windows (or x and y), can I swap my database between partitions?
  44. What is the directory structure of LifeLines?
  45. How do I back up my data?
  46. How do I restore my data?
  47. Can more than one user access the same database simultaneously?
  48. Can I make a donation?
  49. What are the command line options?
  50. What format is the documentation?
  51. What reports are included with LifeLines?
  52. Does LifeLines support LDS information?
  53. How can LifeLines help me clean up my data?
  54. How do I recover a corrupt database?
  55. Does LifeLines support non-traditional families?
  56. Where is the Configuration File?
  57. Can I browse my database in pedigree mode?
  58. How do I search my database?
  59. Can I view 2 people/families at the same time?
  60. Can I merge 2 individuals/families?
  61. How do I combine two databases/GEDCOMs?
  62. How do I change the order of children?
  63. How do I change the order of families?
  64. Can I make lists?
  65. What is the significance of marking an individual?
  66. Can I link records together the way I want?
  67. Some reports are not sorted, how do I sort them?
  68. Can I use multiple configuration files for different purposes?
  69. How can I shrink my GEDCOM?
  70. How do I find information in specific tags?
  71. Can I distribute my database on a CDROM, and if so can it be viewed?
  72. How do I automate adding a source to all of my records that I export to indicate I am the source of the information?
  73. Can I run LifeLines on a USB drive?
  74. Should I put all my work into one lifelines database, or into several?
  75. Someone asked me for a copy of one of my branches. How do I send them just part of my tree?
  76. Someone sent me an export of an ancestry branch that they share with me. How do I compare it with what I have?
  77. How do I use LifeLines for my data?
  78. How can I use special characters in names etc.?
  79. What programs are included with the LifeLines Distribution?
  80. How can LifeLines present my data?
  81. How do I use these reports?
  82. What do reports do?
  83. How do I keep my customizations of reports from being overwritten when there is an update to LifeLines?
  84. How do I convert PostScript (ps) files to PDF on Windows?
  85. How do I convert NROFF files to text on Windows?
  86. How do I process LaTeX files on Windows?
  87. I use a Unix-like system, how do I convert Postscript (ps) files to PDF?
  88. I use a Unix-like system, how do I convert nroff files to Postscript (ps) and/or PDF?
  89. I use a Unix-like system, how do I convert TeX files to DVI or Postscript (ps) and/or PDF?
  90. Is there a way to do graphs in reports?
  91. Will the Windows version of LifeLines work on Unix-like systems with wine?
  92. How do I use the LifeLines debugger options?


1. What is LifeLines?

LifeLines is a free and open source genealogy program to help with your family history research. It has native versions for Unix-like, Mac, and Windows operating systems.

The format of the data as presented to the user for viewing, data entry, and updating follows the GEDCOM format.

The real power of LifeLines is its scripting ability. There are a number of LifeLines reports (aka scripts) that generate all manner of output -- ahnentafels, ancestor/descendent reports, formatted ancestor reports, beautiful books of all ancestors, fan charts of ancestors, vital records of all individuals in a format suitable for importing to palm pilot databases (specifically DB which is also hosted here on SourceForge). All the reports are included in the kit.

Several reports can do error and sanity checking of data; such as deaths before births, extreme May-December marriages, etc.

See: What is GEDCOM?

[ Top of Page ]

2. Where do I get LifeLines?

LifeLines can be downloaded from: http://github.com/lifelines/lifelines/releases.

[ Top of Page ]

3. Where do I get support?

Questions about LifeLines and suggestions for improvement may be directed to the LINES-L discussion list: https://listserv.nodak.edu/cgi-bin/wa.exe?A0=LINES-L.

Subjects that are allowed are usage questions, how to get LifeLines working, error messages, advice on how to enter the correct GEDCOM information, how to get a report script to work, etc.

Be sure to change the Reply To address to LINES-L@LISTSERV.NODAK.EDU so that you get an answer.

Please review this FAQ and review the documentation before posting a question.

The ll-userguide is the User Manual. The ll-reportmanual is the Report Writing Manual. Both are found in the documentation directory.

On Windows, the Documentation is found in C:\LifeLines\docs.

On Linux, the Documentation is located in /usr/share/doc/lifelines-version of lifelines (i.e. lifelines-3.0.49)/

Other useful information is found in the comments of the LifeLines configuration file, and in the comments of each report.

[ Top of Page ]

4. Who wrote LifeLines?

Lifelines was written by Tom Wetmore circa 1991-1994 and he has now placed it under an MIT-style license. Tom no longer works on LifeLines, but does occasionally participate on the LINES-L mailing list. His original website was http://www.bartonstreet.com/software/lines but is no longer valid. Historians can visit the wayback machine if they desire to see it.

Currently, LifeLines is maintained and enhanced by a team of dedicated volunteers on SourceForge.

[ Top of Page ]

5. How much does LifeLines cost?

LifeLines is free.

[ Top of Page ]

6. How do I submit a bug report?

Post it to the LINES-L list, and then, if you do not see a response saying that it is resolved in a week or so, post it to the LifeLines issues list.

If you have multiple items to report, rather than one large email to the list, please submit them individually via the SourceForge bug list.

Having small, concisely defined work items makes it easy for the volunteer programmers to sit down and knock off a couple of them in an hour or two some evening.

When submitting a bug report some items are always useful to include:

Operating System:
Version of LifeLines:
Process/Report/Documentation you used:

If you find a problem with a report, it is often helpful to contact the report author(s). Usually their name and email address is in the comments of the report.

[ Top of Page ]

7. How do I request a new feature be added to LifeLines?

Post it to the LINES-L list, or add it on the Lifelines issues list.

[ Top of Page ]

8. How do I update or add a report I wrote to the repository?

If you are a programmer on the project, you have access to do this via CVS.

If you are not a programmer on the project: (This works for reports, documentation, and even coding changes.)

Post a new patch on the LifeLines GitHub site, saying that it is a new version of 'X', and what is changed or fixed or improved, on the patch list, and then edit the patch and attach (upload) your file to it.

Go here

  http://github.com/lifelines/lifelines/issues

  and submit a new issue with your patches attached.

Then post a note to the LINES-L list saying you have done that, and someone will review it and merge it.

[ Top of Page ]

9. What text editors work with LifeLines?

Any text editor will work with LifeLines, for example vim or emacs on Unix-like systems, or Notepad on Windows.

Vim and emacs are also available for Windows and many other operating systems.

You may also specify your favorite text editor.

If you use a text editor with a tabbed interface, e.g. NoteTab on Windows, or gedit or Bluefish on Unix-like systems, you will want to use an instance that does not require multiple tabs. This is because the text editor must be closed once the edits or new entries are finished to send a signal to LifeLines that there is something for it to do, i.e. save your changes.

vim: http://www.vim.org/

emacs: http://www.gnu.org/software/emacs/

NoteTab: http://www.notetab.com/

[ Top of Page ]

10. How do I close the text editor and return to the menu?

The program has done a system() command to spawn the editor, and is waiting for the process to end. Once your edits are finished, save your work and close the editor. LifeLines will then ask if you want to save your work.

[ Top of Page ]

11. Where do I get the LifeLines FAQ?

The LifeLines FAQ may be obtained from the LifeLines website:
http://lifelines.github.io/lifelines/docs/faq.html.

[ Top of Page ]

12. How do I report errors in the FAQ/suggest new items?

Suggestions and corrections for the LifeLines FAQ may be sent to the LINES-L@LISTSERV.NODAK.EDU or directed to the editor of the FAQ.

[ Top of Page ]

13. What is a text editor?

A text editor is a program for editing plain text. It is not a word-processor, like MS-Word or Open Office Write. A text editor does not do bold, italics, or other formats to the text. Text editors also tend to be small programs that are fast to load.

[ Top of Page ]

14. Is syntax highlighting available?

Two editors that have both Unix-like and Windows versions have LifeLines Reports syntax highlighting and GEDCOM syntax highlighting. They are emacs and vim. A default set of syntax files are included with vim. There are syntax files for both emacs and an enhanced one for vim under tools on the LifeLines home page: http://lifelines.github.io/lifelines

[ Top of Page ]

15. How do I install LifeLines on Windows?

Please refer to the file Install.LifeLines.Windows.txt. This is included with the distribution and has details for installing LifeLines on Windows.

[ Top of Page ]

16. How do I get started with LifeLines on Windows?

Please refer to the file Run.LifeLines.Windows.txt. This is included with the distribution and has details for getting started.

[ Top of Page ]

17. I need a report to do X.

Please review the index.html file in the Reports directory. This will explain all of the reports included with LifeLines. If you need something not covered by the standard reports, you can write your own. See the ll-reportmanual in the docs directory. You can also look at the included reports. They are text files, so you can open them in any text editor.

If you need help writing a report, you can ask for help on the LINES-L discussion list.

One way to develop your own reports is to find a report script that does something similar to what you want to do, then copying in under a different name, then modifying it until its behavior approximates the desired behavior sufficiently.

[ Top of Page ]

18. What is GEDCOM?

GEDCOM is an acronym for GEnealogical Data COMmunication. It is a specially organized text file for organizing genealogy data. This is the format that LifeLines uses to import and export your information. It is also the way that data is added or edited using a text editor.

You can read more about the history, current state, and future of GEDCOOM at Wikipedia

LifeLines allows the user to get the full benefit of the GEDCOM specification in recording and retrieving data.

See the ll-userguide in the LifeLines docs directory for an explanation of adding the first person to an empty database, and other examples.

[ Top of Page ]

19. Does LifeLines support XML?

LifeLines cannot import XML, such as the GEDCOM 6.0 draft. However, there are reports included with the distribution that can write data to XML. LifeLines is tied to GEDCOM for storing data, so it would take a lot of work, most likely a total re-write to support importing XML.

[ Top of Page ]

20. Can I include binary data such as graphics, sound, or video?

LifeLines programmers do not recommend using the BLOB (binary data encoded as text) in GEDCOMs.

A better, more flexible choice is OBJE in the GEDCOM standard (chapter 2). The other option is to just reference the file:

1 OBJE
    2 FILE images/dum/SteveDum.jpg
    2 FORM JPG
    2 TITL Steve Dum
    2 DATE May 1999

Reasons why adding encoded binary data to a GEDCOM file is NOT recommended:

According to the GEDCOM standard you cannot uuencode the binary data.  It has to be in the GEDCOM blob format.  I have only seen one example of it, the stuff in the tortue test and I haven't been able to decode it.
Now to confirm the stupidity of including binary data in a GEDCOM,
the 5.5.1 GEDCOM standard (draft release) dropped blob's.
So, on this item
   1. GEDCOM 5.5 defines a unique to GEDCOM encoding standard.
   2. We are not aware of any programs to encode/decode the data.
   3. Actually using this would inflate GEDCOMs terribly.
   4. They dropped this capability in the next draft of the standard.
   We shouldn't recommend using it.

The GEDCOM standard also allows you to include embedded multimedia objects (each fragment of the encoded binary may be up to 32KB in size) (see the MULTIMEDIA_LINK reference in the GEDCOM 5.5 standard). In LifeLines though, you have to encode the binary image/sound/video as a text file yourself with an external program before including it in the INDI/FAM record.

The usefulness of embedded multimedia objects in LifeLines is probably quite limited because you need to decode the object (image) when running the report to give sensible output, which would not be trivial (need temporary files etc). GEDCOM uses its own encoding scheme.  It's defined in Appendix E of the GEDCOM 5.5 standard.  It's very similar to mime encoding but of course uses a different character mapping. All the more reason to keep the objects separate.

The following example of what an encoded multimedia object looks like
in a GEDCOM file that comes from the GEDCOM Torture Test Files at
http://www.geditcom.com/gedcom.html :
-----
0 @I9@ INDI
... 1 OBJE @M1@
...
0 @M1@ OBJE
1 TITL Dummy Multimedia Object
1 FORM PICT
1 BLOB
2 CONT .HM.......k.1..F.jwA.Dzzzzw............A....1.........0U.66..E.8
2 CONT .......A..k.a6.A.......A..k.........../6....G.......0../..U.....
2 CONT .w1/m........HC0..../...zzzzzzzz..5zzk..AnA..U..W6U....2rRrRrRrR
2 CONT .Dw...............k.1.......1..A...5ykE/zzzx/.g//.Hxzk6/.Tzy/.k1
2 CONT /Dw/.Tvz.E5zzUE9/kHz.Tw2/DzzzEEA.kE2zk5yzk2/zzs21.U2/Dw/.Tw/.Tzy
2 CONT /.fy/.HzzkHzzzo21Ds00.E2.UE2.U62/.k./Ds0.UE0/Do0..E8/UE2.U62.U9w
2 CONT /.Tx/.20.jg2/jo2..9u/.0U.6A.zk
1 NOTE Here are some notes on this multimedia object.
2 CONT If decoded it should be an image of a flower.
1 REFN User Reference Number
2 TYPE User Reference Type
1 RIN 1
1 CHAN
2 DATE 14 Jan 2001
3 TIME 14:10:31

[ Top of Page ]

21. How do I protect the privacy of information I collect?

Reports should have a privacy option that can be enabled/disabled depending on usage so that private information is not inadvertently disseminated.

GEDCOM supports a restriction tag (RESN). It allows data to be signified as confidential, locked, or private. For the purposes of LifeLines and data privacy, use the 'confidential' value for the RESN tag as explained below.

The information protected should be names, dates, events and dates. Reports should have the option of altering the name, say John Smith -> Living Smith. GEDCOM output should add a 1 RESN privacy record to the individual.

This should be done in 3 situations:
1. Any INDI, FAM, or Event records marked with a RESN tag with value 'confidential'.
2. Any INDI presumed living - i.e. born in the last 110 years with no death date present.
3. Any Family information if the Husband or Wife is assumed living.

[ Top of Page ]

22. Can I generate HTML pages?

Yes. There are several included reports that export data to HTML format.

[ Top of Page ]

23. Will there ever be a GUI for LifeLines?

There are a couple of experimental interfaces. However, there is some core functionality that needs adding or improvement to bring stability to the interface before adding a GUI that is easy to maintain.

[ Top of Page ]

24. What Operating Systems are supported?

Currently Unix-like, Mac, and Windows operating systems are supported. The source code is available, so it can be ported to nearly any operating system for which a C compiler is available.

[ Top of Page ]

25. In what programming language is LifeLines written?

LifeLines is written in C.
The configure script and makefiles are generated by Autoconf and Automake.
The report interpreter uses a bison script (yacc.y).

The LifeLines reports are written in the LifeLines report language, which is a custom language specific to the LifeLines program.

[ Top of Page ]

26. What languages are available for the interface?

Currently English (default), Danish, Dutch, Esperanto, German, French, Polish, Swedish, and Kinyarwanda are supported. Italian and Spanish exist in a rough form, with month names. The internationalization method uses po files. Translations are always welcome! Contact the LINES-L@LISTSERV.NODAK.EDU discussion list if you would like to add a new translation file.

The Finnish command line option is for Finnish-appropriate collation (alphabetic order).

Kinyarwanda is a Bantu language, and is spoken in Rwanda at least. wikipedia has a brief article on it at http://en.wikipedia.org/wiki/Kinyarwanda_language

[ Top of Page ]

27. Can I volunteer to be a developer?

Sure! Take a look at the LifeLines issues page and start working!

[ Top of Page ]

28. Can I help improve LifeLines?

Yes, please. Volunteers are welcome to help with development on the main program, or with development of nice report programs, or with documentation, or with support of users.

The easiest way to get involved and is to send email to the LINES-L list.

[ Top of Page ]

29. How can I support LifeLines?

Use it.
Tell others about it.
Put a link on your web page.
Write about it in your blog.
Help improve the documentation.
Write reports to add to the distribution.
Write a How-To make a LifeLines Report.
Write a LifeLines Report Language FAQ.
Write a LifeLines and GEDCOM FAQ.
Put together a translation file (po) for a new language.
Help with programming.

[ Top of Page ]

30. How do I create a translation file (po)?

The gettext manual describes how to use emacs to do translation of po files. there is also a standalone editor poEdit on SourceForge specifically for translating po files. From the poEdit help file: "poEdit serves as a front-end to gettext. It allows you to edit catalog files in [a] comfortable way."

The basic process is to add the translation for each message or label in the appropriate place. This results in the po file.

Once complete, the po file is processed to become a binary mo file. It can then be added to the list of LifeLines translations.

[ Top of Page ]

31. Can I see the source code?

LifeLines is an Open Source project; the source code is available for anyone directly through git, or by downloading a tarbal.. Please see LifeLines SourceCode.

Only developers can upload changes. You can submit a proposed change to one of the developers, or you can volunteer to be a developer.

NOTE: If you just want a Report or Documentation see How do I download reports/documentation from online CVS?.

[ Top of Page ]

32. How do I download reports from GitHub?

Go to the reports directory in the GitHub source code repository here.

Click the link labelled: Browse CVS Repository.

Under the word File in the green highlight, click the link: lifelines/.

To get to Reports, click the link: reports/.

To get to Documentation, click the link: docs/.

You will then see a page with the following headers:

File Rev. Age Author Last log entry

Under file you will see the name of the report or documentation you are looking for.

Click the desired link. The most recent version of the report/document will be first. There are two links, one for viewing the file in your browser, and the other for downloading the file.

NOTE: For using a CVS program to do this see Can I see the source code?.

[ Top of Page ]

33. What license is LifeLines Distributed under?

LifeLines is distributed under the MIT License.

On Windows, the license is located in C:\LifeLines.

On Linux, the license is located in /usr/share/doc/lifelines-3.0.49/LICENSE. Along with other documentation.

It is short, so is posted here:

The MIT License

Copyright (c)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

[ Top of Page ]

34. I get an error when I try to import my GEDCOM, and nothing gets imported.

Certain kinds of problems, such as the wrong sex for a HUSB and WIFE record in a Marriage record, would cause problems later. You should get an errs.log report detailing the line number and the INDI record with the problem. Correct these problems in your GEDCOM and then try again.

If you are not getting the errs.log, check your LifeLines configuration file to make sure you are looking in the right place for the errs.log, and that the errs.log is turned on. By default the import errors log file is off. If you activate it, the default name is errs.log, but you may specify a different name in the configuration file.

Look here Does LifeLines support non-traditional families?

If you try to import a GEDCOM with non-traditional families, i.e. something other than one man (HUSB) and one woman (WIFE) and their children, the import process will issue a warning message, but it will continue and import the file assuming there where no other errors.

[ Top of Page ]

35. I want to keep the same INDI and FAM record numbers as are in my GEDCOM.

According to the GEDCOM specification, the program is supposed to have control of the INDI, FAM, SOUR, and REPO ID numbers. The user can use numbers and/or letters in the REFN to be whatever ID number the user wants. However, if there are no REFN records in your GEDCOM, you will get the prompt asking if you want to keep the existing numbers.

If you load into a NEW database, and you have sequential numbering for INDI and FAM records without gaps (i.e. I1, I2, I3, F1, F2, I4, F3) this will not be a problem. However, if one INDI or FAM record is missing, or they are not sequential, LL will renumber them where the gap begins.

[ Top of Page ]

36. I get a message that a reference number is already in use.

If your database was created with a GEDCOM with multiple REFNs with the same information, you will get this message. To edit the records with the REFNs, you will need to change the REFN of the record to be unique or delete the line with the REFN. The REFN is supposed to be a user-defined identification for an INDI or FAM record. They can be number, letters or both.

[ Top of Page ]

37. I want to change the default template for each record for editing.

See the LifeLines configuration file. There is a place there to specify something other than the default. A different configuration file may also be specified in the command line used to start LifeLines, such as with a shell script or batch file.

[ Top of Page ]

38. I want to change the date format.

See the LifeLines configuration file. There is a place there to specify something other than the default. This may also be specified in the command line used to start LifeLines, such as with a shell script or batch file.

[ Top of Page ]

39. I want to require a certain behavior in LifeLines.

LifeLines settings can be stored in the LifeLines configuration file, or can be specified when the program is started with command line switches.

The command line switches can be specified in a shell script or batch file.

Some options can also be stored in a specific database.

See 'System and User Properties' in the ll-userguide.

[ Top of Page ]

40. How many databases can I have?

LifeLines databases are stored in a directory under the LifeLines Databases directory. The only limitation to the total number of databases is available disk space.

Multiple databases can be open simultaneously, only limited by system resources. This will vary by specifics of hardware, operating system, and size of databases.

[ Top of Page ]

41. What is the maximum size of a LifeLines database?

LifeLines can easily support databases of over 100,000 individuals with a total size of 30 megabytes.

The limit is 9,999,999 individuals or families.  The internal keys for Individuals, families, sources, notes, etc., are kept as a 8 character string, one letter and at most 7 digits. There are some assumptions built into the hash tables that definitely favor small tables.  The hash is hard wired to hash on 512 elements.  So operations that build large tables will degrade to long linear searches.  This can be avoided by switching to rbtrees (controlled by the LifeLines configuration file).

This could easily be 150 MB in size. However, the larger the file, the longer it will take to import and export data. It is recommended that several smaller databases be used than one huge one, to simplify the import and export process.

Also keep in mind the need for space for backups and reports. Reports for the entire database could be quite large.

One LifeLine's user conducted a test in November, 2005, by importing the same GEDCOM of 250,000 individuals multiple times, to get a total of 2,500,000 individuals. Once imported, this huge database was almost as fast to look up information as one of 250,000. The GEDCOM exported from this database was 700 MB. It is estimated that this database with 9,000,000 individuals would have a GEDCOM of about 2 GB. The LifeLines database is approximately the same size as the GEDCOM. This test took several days of processing to accomplish. So while it is possible, with the current database used, it is not practical. The upper practical limit of individuals is about 250,000 depending on one's patience for loading such a GEDCOM.

[ Top of Page ]

42. I exported a GEDCOM on Linux and Windows and the Linux database is a lot smaller.

Do not worry, you have not lost any data. Unix and Linux text files use one byte for the end of line, but Windows uses two bytes. On a 4.9 MB GEDCOM on Windows of about 235,000 lines, you will find it to be 4.6 MB, because it is "missing" one byte at the end of each line on Unix and Linux.

[ Top of Page ]

43. I dual-boot Linux and Windows (or x and y), can I swap my database between partitions?

Yes. Linux/Unix and Windows on the same endianness, usually the same processor family, such as Intel/AMD, will work if you copy the LifeLines database, or have it on a shared drive. You can even transfer the file to another computer with the same endianness/type of processor and it should work. Be sure to test this before relying on it for important data.

For complete portability, export your file to GEDCOM.

[ Top of Page ]

44. What is the directory structure of LifeLines?

LifeLines has the following directory structure:

On Unix-like systems LifeLines is located here:

/home/username/lifelines/

On Windows it is usually:

C:\LifeLines\

The following directory structure is on both Windows and Unix-like systems:

        /Archives   (GEDCOM files are exported here by default.)
        /Databases  (Each database is a directory in this directory.)
        /docs       (Documentation)
        /Outputs    (Reports are created here by default.)
        /locale     (Localization files for other languages.)
        /tt         (Codeset information.)

On Windows the reports directory is in the same location as all the others:
        /Programs (name of the reports directory)

On Unix-like systems, the reports are installed to:

/usr/local/share/lifelines

Users on Unix-like systems will either need permissions to this directory to edit reports, or their own local copy of reports.

NOTE: These directories may be renamed to suit your personal preference, and then specified in your LifeLines configuration file(s).

[ Top of Page ]

45. How do I back up my data?

The best way is to export to GEDCOM. This is a text file with specially organized data. This is the most accessible format for your data, because you can open it in a text editor, or import it into another genealogy program.

Another option is to compress (zip, gzip, etc.) the Databases directory or an individual database in the Databases directory.

Some may want a low-tech backup of their data on paper. Print these reports on high-quality acid-free paper for long-life and prevent fading. Reports that are good for getting all information on an entire branch of your tree are:

novel.ll - This creates a narrative. If you start with your end of line (eol) ancestor, it will give all descendants. You will need to edit to avoid duplicating the individuals that are on reports in each line. This would make a good gift to family, and maybe get them inclined to share information.

famgroup.ll - Family groups sheets.

famrep.ll - Exports family group sheets. Has an option to do all families of the starting ancestor. Use your eol ancestor to get all descendants. It includes footnotes with sources. You will need to edit to avoid duplicating the individuals that are on reports in each line. These are good for sending to family and fellow researchers, to verify and fill in the blanks.

Another possible repository is with your local library, genealogy society, historical society, a surname society, etc. This insures that your hard work to prepare an accurate, verified family history is not lost to the ages when you die. Make a provision for this in your will if your family does not have anyone to take up the torch. Future researchers will thank you.

[ Top of Page ]

46. How do I restore my data?

If you exported your data to GEDCOM, then create a new database, and import the GEDCOM.

If you compressed a database, with zip for example, you will need to unzip it to the Databases directory.

[ Top of Page ]

47. Can more than one user access the same database simultaneously?

Yes, as long as no more than one user has the database open for writing or updating.

There is a read-only command line option that allows this.

[ Top of Page ]

48. Can I make a donation?

At the moment, give a donation to SourceForge, which supports the LifeLines development. The people working on LifeLines do this out of their own interest.

[ Top of Page ]

49. What are the command line options?

For the current command line options, invoke LifeLines from a command prompt

Unix-like systems:

llines -\?  or llines --help  or llines --h  or  llines -h

Will show the syntax options for the LifeLines command line.
     lines [-acdfiklnortuwxzCFI][database]

Windows systems:

lines

The following may change, see the ll-userguide in the LifeLines docs directory.

The full command line interface to LifeLines is:
     lines [-acdfiklnortuwxzCFI][database]

The following options are supported:



  
















 -C    Specify configuration file location (e.g. -C/home/bill/lifelines/.linesrc2 )
 -F    Finnish option (only available if so compiled)
 -I    Specify a user property (e.g. -ILLEDITOR=gvim )
 -a    log dynamic memory operation (for debugging)
 -c    supply cache values (eg, -ci400,4000f400,4000 sets direct indi & fam caches to 400, and indirect indi & fam caches to 4000)
 -d    debug mode (signal protection disabled for convenience with breakpoints)
 -f    force open the database - use only in emergency
 -i    open database with immutable access (no protection against other access -- for use on read-only media)
 -k    always show keys (normally keys are suppressed if REFN available)
 -l    lock (-ly) or unlock (-ln) a database for use with read only media (access to a locked database is treated as immutable)
 -n    do not use traditional family rules
 -o    Specify program output directory (eg, -o/tmp/mytests)
 -r    open database with read-only access (protect against other writer access)
 -t    trace function calls in report programs (for debugging)
 -u    specify window size (eg, -u120,34 speci?es 120 columns by 34 rows)
 -w    open database with writeable access (protect against other writer or reader access)
 -x    execute a single lifelines report program directly
 -z    Use normal ASCII characters for drawing lines in user interface rather than the vt100 special characters.

[ Top of Page ]

50. What format is the documentation?

The LifeLines documentation is available as text, HTML, PDF, and XML.

[ Top of Page ]

51. What reports are included with LifeLines?

There are almost 180 reports included with the distribution. They include Ancestry and Descendent Reports, pedigree charts, family group reports, individual reports, and error checking reports. The user is also free to write reports for their own needs.

On Unix-like systems, the reports are located here:

/usr/local/share/lifelines

On Windows systems the reports are located here:

C:\LifeLines\Reports

See also LLPROGRAMS in the LifeLines Configuration file.

[ Top of Page ]

52. Does LifeLines support LDS information?

The GEDCOM specification includes the LDS information. There are reports in the distribution to aid with LDS submissions.

[ Top of Page ]

53. How can LifeLines help me clean up my data?

1.) When you import your GEDCOM, LifeLines will alert you to problems that may prevent it from importing. Once these are corrected and you are able to import your GEDCOM you will know that there are no major technical issues with your GEDCOM.

2.) Once you import your GEDCOM, run the dbverify program to check for errors.

For example, the following command will generate a text file of all problems in your database.:

Unix/Linux:

dbverify -a "/home/username/LifeLines/Databases/databasename" > dbverifyLL.txt

Windows:

dbverify -a "C:\LifeLines\Databases\databasename" > dbverifyLL.txt

dbverify --help will give a list of all the command line options.

3.) Once the problems identified by dbverify, if any, have been resolved, there are several reports in the LifeLines distribution that are very helpful for finding problems.

verify.ll will look for age issues, such as children born before parents, or dying before birth. It also reports non-patronymic names, i.e. children that do not have the same surname as the father. Verify.ll can find many other issues, please see the comments in this report for specifics.

places.ll will generate a report of all the places in your database that can be sorted. This helps you make sure all spellings are correct, and that all places include the county.

zombies.ll will generate a report of all individuals over 100 years old without a death date.

partition.ll will generate a report of the separate "partitions" or non-connected lines in your database.

nonpatronymics.ll will show which children do not have the same surname as their father.

familycheck.ll checks to make sure that all INDI records are in a FAM and that all FAM records have INDIs.

eol.ll produces a report of all the "End of Line" AKA brick wall ancestors of a given individual.

dates.ll produces a report of all dates in the database to help find dates that are wrong or have an invalid format.

burial_index.ll generates a list of all burial records for requested geographic entity, such as a state or county.

alive.ll gives a list of individuals alive in a given year, to help determine what census to check, etc.

cont.ll lists individuals with possible problems with NOTE records.

[ Top of Page ]

54. How do I recover a corrupt database?

1. Before you do anything else, save your data by exporting the GEDCOM make copies of everything, and work with a copy.  Once you have fixed the problem, it is easy to delete a few extra copies of the data, but if something causes more corruption, you do not want to destroy your only copy of the data.

2. Run dbverify to see if it can repair your data.

The following command will generate a text file of all problems in your database.:

Unix/Linux:

dbverify -a "/home/username/LifeLines/Databases/databasename" > dbverifyLL.txt

Windows:

dbverify -a "C:\LifeLines\Databases\databasename" > dbverifyLL.txt

dbverify --help will give a list of all the command line options.

3. Read in the exported GEDCOM to a new database.

4. Resolve any import issues, export data again to new GEDCOM.

5. If you have a backup see if the exported GEDCOM matches the previous one.

[ Top of Page ]

55. Does LifeLines support non-traditional families?

LifeLines allows bending the GEDCOM 5.5 rules that there can be only one HUSB and one WIFE.  This behavior requires a command line option, except that importing a GEDCOM with non-traditional families is allowed - you just get warnings.

Start LifeLines with the -n option.

On Unix/Linux/Mac:

lines -n database

On Windows:

c:\lifelines\lines -n database

[ Top of Page ]

56. Where is the Configuration File?

On Unix-like systems the configuration file is .linesrc. On these Operating Systems, the dot as the first character in a filename indicates a hidden file. This file is in the users home directory, for example, /home/username/.linesrc.

To edit this file, using vim for example, you can open a command line and type vim /home/username/.linesrc.

Unix-like systems will look for the configuration file in three places.

1) system default location
2) in home directory
3) in current directory.

All 3 are read if they exist.

On Windows, the file is called lines.cfg and is in the LifeLines directory, for example: c:\LifeLines\lines.cfg.

See: Can I use multiple configuration files for different purposes?

[ Top of Page ]

57. Can I browse my database in pedigree mode?

Yes, browse to an individual and press 'p' to view the pedigree mode. A four generation pedigree will be displayed. There are key combinations to scroll up and down and back and forth in the view.

[ Top of Page ]

58. How do I search my database?

From the main menu choose 's'. The options presented are to view the History or a Full search. The Full Search has three options:
Full name scan, enter the full name of the person you want to find.
Name Fragment, enter one name, or part of a name.
REFN scan, enter a user-defined REFN to search.

If more than one individual matches the criteria, you will get a list from which to choose the desired individual.

[ Top of Page ]

59. Can I view 2 people/families at the same time?

Use the Tandem mode to browse two individuals or families at the same time. First, select one individual/family, then choose tandem mode to view the other. You may switch top & bottom, etc.

[ Top of Page ]

60. Can I merge 2 individuals/families?

Yes, use the Tandem browse mode to bring up the two individuals or families. Certain specific conditions must be met for the merge to work. Please see the ll-userguide for details.

The bottom individual or family will be the one to "go away" after the merge.

[ Top of Page ]

61. How do I combine two databases/GEDCOMs?

Merging genealogy information is a complex task involving a great deal of human interaction to be accurate and successful - eg. names and places may have slightly different spellings or dates may be slightly different. LifeLines allows you to match and merge two individual records  (see: Can I merge 2 individuals/families? ), but currently does not have any built-in functionality to automatically match large numbers of records and merge two databases.

However, several options exist:

1. Cut and paste information from one GEDCOM to LifeLines one record at a time. This is the least error-prone method, and avoids creating duplicate individuals or families. It also allows the user to indicate multiple opinions on names, dates, and places.

2. Export both databases to GEDCOM and use an external matching program (such as Steve Dum's Perl script).

3. The most difficult of all, import the GEDCOM into a COPY of your LifeLines database and merge each duplicate person/family one at a time.

[ Top of Page ]

62. How do I change the order of children?

Inevitably, you will find that you have entered the children of a family in the order you were given, only to find documentation that proves the birth order/date is different. There are two ways to change the order of children in a family. The first is to browse to the family and edit the family record and change the order of the children (1 CHIL @Innnn@) in that family. The second is to.browse to one of the parents and enter family mode, g. Then press x "Swap two children".

[ Top of Page ]

63. How do I change the order of families?

If you have the order of families/marriages out of order, there are two ways to change the order of families. The first is to browse to one of the spouses and change the order of the families (1 FAMS @Fnnnn@) the individual is a spouse. The second is to.browse to an individual and if there are more than one spouse use the option x "Swap two families".

[ Top of Page ]

64. Can I make lists?

Lists can be made from the browse menu. For example, you can browse for the surname /Smith/ and everyone in your database with that name will be displayed. You can then make a list and call it Smith.

[ Top of Page ]

65. What is the significance of marking an individual?

In list browse mode, you can mark one person, and then move selection to another, and then invoke tandem browse.

[ Top of Page ]

66. Can I link records together the way I want?

GEDCOM provides the REFN for user-defined codes. These may be associated with the following records: INDI, FAM, SOUR, and REPO. For example, with SOUR records one could use a shorthand for a source that will be repeated with great frequency. This would allow you to generate reports on the INDI and/or FAM records that use the same source.

[ Top of Page ]

67. Some reports are not sorted, how do I sort them?

If the output of a LifeLines report is not sorted as you'd like, there are several, freely available programs that you can use to sort the data. For example, the sort utility is included in both Windows and Unix-like systems.

Unix-like, and Windows systems have their version of the sort utility, with very similar syntax.

Unix-like systems:

sort -f originalfilename -o sortedfilename

sort sortedfilename

Windows:

sort originalfilename /O sortedfilename

The above examples keep the original filename and output the sorted information to a new file.

[ Top of Page ]

68. Can I use multiple configuration files for different purposes?

If you want to use a configuration file other than the default LifeLines configuration use the -C (NOTE: UPPERCASE!) command line option and the path to the configuration file.

For example, you can have the "every day" file use the default configuration, and then have a special configuration file for alternate record templates.

A configuration file can read in other configuration files.  So you can have even more complex situations.

See: Where is the Configuration File?

[ Top of Page ]

69. How can I shrink my GEDCOM?

There are multiple possibilities.

If your other genealogy program exports GEDCOM with a "_UID" tag that is a string of 50 plus characters, you can use grep or sed to strip those lines out:

grep -v '^! UID' oldfile.ged >newfile.ged

or just edit "old.ged" with vi, then (after ensuring that the cursor is at line 1 of the file) type

       !Ggrep -v '^1 _UID'

sed '/^1 _UID/d' source.ged > destination.ged

DOS users will probably have to use double quotes instead of single quotes.

See the Sourceforge Project at: http://gnuwin32.sourceforge.net/

This project has command line tools for Windows ported from Unix.

Another option for shrinking your GEDCOM is to convert the line endings to Unix\Linux line endings. Windows line ending have two characters and Unix like Operating Systems have one character. On Unix like Operating Systems, use this command:

dos2unix MyGEDCOM.ged

The gnuwin32 project also has a Windows version of dos2unix, and its converse unix2dos. On Windows, you will want to use an editor that can cope with the one character line endings, or your lines will not appear to break at the proper place.

The last option, is one of prevention, and is time-consuming if you are not already doing this. Make sure to minimize duplicate information. Learn to use the source and repository tags to point facts back to sources, so you can use a pointer rather than the whole source citation. Make sure you do not have sources listed in NOTE records, and that NOTE records do not repeat identical information for multiple family members.

[ Top of Page ]

70. How do I find information in specific tags?

The find.ll report allows one to specify a tag and a value. One can specify NAME and enter a value of Joe to see a list of all people in the database with that name.

[ Top of Page ]

71. Can I distribute my database on a CDROM, and if so can it be viewed?

Yes, you can distribute your database on a CDROM.

Privacy Note: You may wish to be careful distributing data about living persons, or any private data, as genealogical data often finds its way into large online repositories, becoming essentially public knowledge. Sometimes unscrupulous people find data on the Internet and misrepresent it as their own research, and may even try to sell it as such.

The recipient of the CDROM will be able to use LifeLines to view the database if the recipient uses the same type of computer as you do, or at least one whose processor has the same endianness (see Endianness NOTE below).

If the recipient copies the database off the CDROM onto a local drive, it should work fine.

The recipient will only be able to run LifeLines directly against a LifeLines database on a CDROM if one of the following is true:
1) the receipient invokes LifeLines with the -i option (immutable, which works with readonly filesystems)
2) the sender prepared the database for access on a readonly medium, using the -ly (lock) argument (this is recommended)

Two other good ways to distribute the data on a CDROM are:
a) in HTML form, probably in multiiple HTML files; after all, most recipients will have a web browser
b) in GEDCOM form--this is useful for recipients who may want to import the data into another genealogy program

It might be best to include several, or all, of these formats, in your CDROM.

In addition, some genealogy programs (including LifeLines and others) are free and freely redistributable, so you might even include some genealogy programs on the CDROM, for recipients who have none.

The GRAMPS Project has developed two CDs, a Linux Live CD and a Linux Install CD based on the Ubuntu Linux distribution. It includes popular Linux related genealogy software, including LifeLines. Please see the GRAMPS Project for more information and support issues with these two CDs.

Endianness NOTE:
Big-endian computers can share databases with each other, and inclue SPARC, Power PC (PPC), and Mac.
Little-endian computers can share databases with each other, and include Intel (x86) and AMD.

[ Top of Page ]

72. How do I automate adding a source to all of my records that I export to indicate I am the source of the information?

The addsour.ll report modifies the LifeLines database by adding a source record, of the user's choice, with the current date, to each individual and Family in the database.

[ Top of Page ]

73. Can I run LifeLines on a USB drive?

If you use the USB drive on the same Operating System, yes, or have Wine to run a Windows version on a Unix-like system.

If you just have the database, you are only limited by the endianness/processor family.

For example, if you have Windows at work and at home, you can have your entire LifeLines directory structure and database on the USB drive.

With Unix-like systems, this is probably easier to accomplish with just the database directory on USB.

[ Top of Page ]

74. Should I put all my work into one lifelines database, or into several?

The benefit of one database is that you can easily get a report of any one person, family, or line in the database. LifeLines has a huge capacity that is more practical for most users.

Another advantage of a big database is that it facilitates determining relationships between arbitrary people in the database (see the cousins.ll, relate.ll, and relation.ll reports).

See: What is the maximum size of a LifeLines database?

The benefit of many smaller databases, is that they can be focused and take less effort to get reports on just that line. They are also smaller and tend to be more portable.

[ Top of Page ]

75. Someone asked me for a copy of one of my branches. How do I send them just part of my tree?

You can do this with the following report programs.

Please see the index.html file for a full description of the following GEDCOM related reports that are useful for sharing information.

anc2_ged
     Make a GEDCOM file of the ancestors of a set of individuals.

desc_ged
     Generate GEDCOM of descendents. for specified set of individuals for specified # of generations down from the top individuals.

descged
     The output of this report is a GEDCOM file of the following: all descendents of a named individual and their spouses.

extract_gedcom
     This program allows the user to select a group of individuals from a database and generate a GEDCOM file for them.

fam_ged
     This program extracts a GEDCOM file of all male line descendents of a specified person, with their spouses and parents.

gedlist
     Generates a GEDCOM file for the male line of the input individuals.

gedlod
     Generate a GEDCOM file of a person's descent from an ancestor. the GEDCOM file will contain the following: all descendents of the ancestor who are ancestors of descendent, as well as the ancestor and descendent themselves.

gedn
     The output of this report is a GEDCOM file of the following:
n generations of ancestors, all spouses and all children of these ancestors and all descendents of a person, as well as the person him/herself.

genancc1
     This program is useful for extracting data when a person requests data about someone from your database.

genancc2
     The output of this report is a GEDCOM file of the following: all ancestors, all spouses and all children of all ancestors and all descendents of a person, as well as the person him/herself and his/her spouses.

[ Top of Page ]

76. Someone sent me an export of an ancestry branch that they share with me. How do I compare it with what I have?

Begin with finding how you are connected to this person. Run the report relation.ll. This will generate a report that shows each intervening person between you and that person, even if by marriage. No other genealogy software can do this.

You could then export that branch from your database and compare to the one you received.

[ Top of Page ]

77. How do I use LifeLines for my data?

This is a large topic. The quick answer is to refer to the GEDCOM standard, open a GEDCOM in a text editor to see how the data is organized, and refer to the LifeLines ll-userguide.

The details of this topic are big enough for their own FAQ on LifeLines and GEDCOM. A link to this FAQ will appear here when there is something available. This FAQ will contain samples of GEDCOM for various data entry scenarios.

If you have a scenario you would like to see in this upcoming FAQ, please send it to the LINES-L@LISTSERV.NODAK.EDU. NOTE: You must sign up to post to this list. See Where do I get support? for more information.

[ Top of Page ]

78. How can I use special characters in names etc.?

To use special characters (that is, non-ASCII characters) in your LifeLines database, you must set the codeset in the database. This tells LifeLines what these characters mean.

The LifeLines developers recommend that you set the codeset to UTF-8, because that is the form of Unicode used widely on the Internet and on the World Wide Web.

There is a brief section on this topic in the usermanual, entitled "CODESET".

There is a configuration option (NewDbProps) which will set this for all new databases which you create (refer to this property in your configuration file).

To check the codeset information in your current database, go to Utilities and then the Character set options: u > c.

Encoding issues in reports and output GEDCOM is a more complex topic. The usermanual has a somewhat cryptic discussion of this topic in the section entitled "CODESET CONVERSION".

Translations of LifeLines (e.g., into Swedish), are separate from the codeset. These are controlled by locale, and may be overriden in the configuration file: see the ll-userguide for details.

[ Top of Page ]

79. What programs are included with the LifeLines Distribution?

In addition to the main LifeLines binary, llines on Unix-like systems and lines.exe on Windows, there are (NOTE: Add .exe for the Windows filenames.):

llexec - This program is for running a LifeLines Report of the user's choice at the command line. Executing the command "llexec -h" at a command prompt gives the same option as with "lines -h" on Windows or "llines -h" on Unix-like systems. See also: What are the command line options?

dbverify - This program is used to check and repair LifeLines databases. At a command prompt use the command "dbverify -h" to get a complete help listing and example of use.

btedit - This is for programmers or advanced users to work with the LifeLines database directly. When the command "btedit -h" is given at a command console, it gives a brief usage example:

        usage: btedit

In addition, all LifeLines Reports are mini-programs or scripts, but they only work with LifeLines. With the exception of JLifeLines, and the perl script, lines2perl, which converts LifeLines Reports for use with the perl module Gedcom.pm. NOTE: lines2perl has fallen behind the current LifeLines implementation so any functions which have been added to the language since the creation of lines2perl are unknown.

For Windows users, Perl can be obtained from Activestate.

The GDBI - GEDCOM DataBase Interface, uses jLifeLines to access the functionality of LifeLines Reports.

On Unix-like systems there are man pages for llines, dbverify, and btedit.

[ Top of Page ]

80. How can LifeLines present my data?

This is virtually unlimited, but for new users it is limited to the existing reports in the LifeLines Programs (Reports) directory.

LifeLines can export data to a variety of formats: text, HTML, XML, RTF, PS, NROFF, LaTeX, and many others.

Some operating systems, such as Windows, will not include all the utilities that most Unix-like operating systems do, that make processing intermediate files into usable/printable files.

The LifeLines Report Language is dealt with in the ll-reportmanual in the LifeLines docs directory.

[ Top of Page ]

81. How do I use these reports?

Reports can be run in a variety of ways, within the program the p option allows you to browse the list of available reports. The r option allows the user to enter the name of the desired report to be run.

When the -x option is used, the user can specify a specific report to be run from the commandline.

There is an additional utility, llexec, that is designed solely for running reports from the command line.

If the report doesn't ask any questions:

     llexec data -x report
     is all it takes.

If it asks questions, either
     llexec data -x report
     .. answer the questions..

or if you know the answers, you can do something like
     echo 35 |llexec data -x grand

or even
     llexec data -x grand <
     35
     EOF

Each report in the distribution includes comments on what it is for, and how to use it. In addition, there is an index.html file in the Programs/Reports directory that has a listing of each report and a brief description. There are currently over 150 reports.

Reports are actually mini programs that are just text files with special coding that tell LifeLines how to operate on the data.

For details of working with writing or modifying reports, see the ll-reportmanual, and look at the existing reports.

[ Top of Page ]

82. What do reports do?

Reports are actually mini programs that allow the user to get information out of a database in a desired format. Over 150 reports are included in the distribution.

Refer to the ll-reportmanual for details on the LifeLines Report Language.

[ Top of Page ]

83. How do I keep my customizations of reports from being overwritten when there is an update to LifeLines?

One simple option, if you just modify a few reports, is to re-name them then you can upgrade without fear of overwriting them. Be sure to change the line that begins with "@progname" so that your renamed report will show with its new name on the menu when you choose from the pick list to run a new report.

A more comprehensive and flexible option is to specify more than one directory in LLPROGRAMS in the Configuration File:

%llroot%:=/home/username/ll

LLPROGRAMS:=%llroot%/Programs:/usr/local/share/lifelines

Thus, /usr/local/share/lifelines has the report scripts from the LifeLines distribution; ~/ll/Programs has those that I write (or modify); mine are searched first.  That is the usual intended use of a "directory path."

The only time I update /usr/local/share/lifelines is when I install a new revision level of LifeLines.

Note for Windows users: This method works and the above Configuration File variables would look like the information below. Observe the semi-colon (;) used to separate multiple directories in the LLPROGRAMS setting. NOTE: The default installation name of the reports directory is "Programs".

%llroot%:=C:\LifeLines

LLPROGRAMS:=%llroot%\Reports;%llroot%\Programs

[ Top of Page ]

84. How do I convert PostScript (ps) files to PDF on Windows?

Many of the reports, such as famtree.ll, and ps-anc.ll, or ps-circle.ll export in PostScript format. These are attractive reports and suitable for quality printing.

To work with Postscript data, you will need to download the free GhostScript program, http://www.ghostscript.com/. This allows you to print and/or convert Postscript files to PDF, that can be viewed in the Adobe Reader program,
http://www.adobe.com/products/acrobat/readstep2.html.

[ Top of Page ]

85. How do I convert NROFF files to text on Windows?

NROFF is a general purpose batch mode text formatting tool that is also used to format man pages on Unix-like operating systems.

See the Sourceforge Project at: http://gnuwin32.sourceforge.net/

This project has command line tools for Windows ported from Unix. For groff this is the best option.

To convert a basic groff report from LifeLines to PostScript use this:

groff -mm -Tps ^%outputdir%test >^%outputdir%testCLIP.ps

If you have a table to generate and want PostScript output, use this:
tbl report | groff -me>report.ps

Most of the reports that output in NROFF format also have an RTF version To work with NROFF data, you will need the Perl script man2html as well as Perl itself.

Another option is to install Cygwin, http://www.cygwin.com/, which has an NROFF utility.

[ Top of Page ]

86. How do I process LaTeX files on Windows?

LaTeX/TeX, pronounced "tek", is a text file with specialized markup language for printed documents. Some of the reports that export to LaTeX/TeX format, do not have any other options at this time. To work with TeX and LaTeX format you will need to download TeX, http://www.miktex.org/. A minimal installation is about 25 MB, a large installation is 64 MB. and a full installation is 250 MB. A NoteTab library for ease of working with MikTeX is available here:
http://texlips.hypermart.net/index.html.

There is a stand-alone LaTeX/TeX to RTF converter:

Please note that any LaTeX/TeX conversion still requires some knowledge of LaTeX and editing of the file to get the desired end results.

[ Top of Page ]

87. I use a Unix-like system, how do I convert Postscript (ps) files to PDF?

To convert a Postscript file to a PDF file, issue the following command:

ps2pdf filename.ps

This will create a file called "filename.pdf".

NOTE: If you install Ghostscript on Windows the same command will work.

[ Top of Page ]

88. I use a Unix-like system, how do I convert nroff files to Postscript (ps) and/or PDF?

To convert an NROFF format file to Postscript or PDF use the following options:

The following processes an nroff file and sends it to a Postscript file. A second command is required to convert the resulting Postscript file to PDF.

tbl famrepme.txt | groff -me > test.ps

The following processes an nroff file and sends it to a PDF file. This does it in one command.

tbl famrepme.txt | groff -me > test.pdf

NOTE: If you install Cygwin on Windows, a similar command will work.

[ Top of Page ]

89. I use a Unix-like system, how do I convert TeX files to DVI or Postscript (ps) and/or PDF?

1.) Tex to DVI
tex myfamgroup.tex

ALSO:
latex Book.tex (ENTER/R/ENTER) NOTE: This works best.

2.) DVI File to PS
dvips -f myfamgroup.dvi -o myfamgroup.ps Note: This works best.

3.) TeX to PDF
pdftex myfamgroup.tex

NOTE: Similar commands should work on Windows, but LaTeX is required.

[ Top of Page ]

90. Is there a way to do graphs in reports?

There are several choices.

PostScript, such as in the ps*.ll reports, i.e. ps-circle. There is some pre-ready PostScript code for use in LifeLines reports, in some of the reports. (Should this be in a "stub" file for easier access?)

91. Will the Windows version of LifeLines work on Unix-like systems with wine?

Yes, the Windows version of LifeLines can be installed on Unix-like systems with wine.

Since LifeLines is a console mode program, the command to start it is not "wine C:\LifeLines\lines.exe", but "wineconsole Lines.exe Databases/databasename".

A bash script to launch it would look something like this:

#!/bin/bash
cd /home/username/.wine/drive_c/lifelines/
wineconsole Lines.exe Databases/databasename

NOTE: The Windows version of LifeLines on Linux has about the same performance as the Windows version on Windows. The Linux version is much faster than the Windows version. Using the Windows version of LifeLines on a Unix-like operating system with wine is best for supporting Windows users, to better see what they are seeing if you do not have a Windows PC.

[ Top of Page ]

92. How do I use the LifeLines debugger options?

* Report debugging

There is a built-in report debugger, for the cases when the user is designing a report, and has made a mistake. It is not very powerful, but it does allow the user to inspect the local variables at the point where the report issued an error, to help detect, for example, when a variable has an unexpected value.

(Obviously this answer could use a nice sample to go with it.)

* LifeLines executable debugging

LifeLines itself is written in C, and can be debugged using conventional debuggers, such as gdb (the GNU debugger) when compiled with gcc (the GNU compiler). It traps signals and should offer to dump core if a failing signal is caught. There is also a commandline argument (-d) to make it not trap signals, for the purposes of running it under a debugger, when the signal trapping gets in the way of debugging.

[ Top of Page ]