It is great to have a nearly maintenance-free Unix machine running at home. Many more people now have the opportunity to run LifeLines at home whereas before they had to understand an additional layer of complexity -- attempting to port LifeLines to Mac OS 8 or 9, or running a Unix system on top of Mac OS 8 or 9.
I feel like there have been some hurdles to overcome in getting LL to run on OS X, so to make it easier for everyone else (and for me later), here are some pointers.
There are paths for both those who want to compile the source code, and for those who just want a recent stable executable.
One needs to obtain ncurses. This is a set of tools that facilitate box-drawing and text placement in text based windows/terminals. Look to GNU: ncurses
Fink is the easiest way to get ncurses installed. Installing the basic Fink package (details in the Fink User's Guide) includes ncurses. [Fink keeps itself neatly separated from the Unix system that comes with Mac OS X.]
If obtaining already compiled (for Mac OS X) ncurses libraries,
you just need to relocate the files under the /usr/local directory.
For example, the ncurses stuff contained in
a 'bin' directory should go in /usr/local/bin. It is advisable to do this as
root user.
In fact, it's better to extract the archive as root user. Then use
cp -Rp to copy the archive contents over into the
/usr/local area. Experiment first with some dummy files to get
comfortable with this procedure.
If you'd rather compile the source code for ncurses yourself, you should see the first paragraph below under "Notes on Compiling."
If you just want a recent copy of LifeLines to run and aren't interested in the leading edge of development, then copies for Mac OS X may be obtained at...
There are several ways to control LifeLines functions.
The rest of this page is for people who want to get closer to the edge of development.
If you're not the kind of person who knows how to get a C compiler up and running on a Unix machine, there is still hope.
Apple distributes a set of tools for developers that includes 'gcc', the GNU Compiler Collection. Those who purchased a copy of Mac OS X 10.2 received an extra CD containing that set of tools.
If you don't have it on a CD or want a more recent copy, then it is helpful to sign up as a developer with Apple. Just go to developer.apple.com. It's free to be a "hobbyist" or student developer. This allows you to download the Mac OS X Developer Tools. This is a bundle containing GNU C compiler, GNU make, documentation, and lots of other stuff. Installation is easy enough. At around 200 MB though, you may want to download over a connection faster than a 56k modem.
After installing Apple's Developer Tools, there will be a links to gnumake named 'make' and 'gmake' in the /usr/bin directory. So make, gnumake, and gmake will all do the same thing. Skip this section if you already have Developer Tools installed, unless you want to bump up your version of gmake for some reason.
It seems to be a convention to rename or link GNU make to "gmake". So when the instructions for making LifeLines say to type make (and that doesn't work), you can instead instead type gmake.
If it is necessary to obtain a newer copy of gmake...
gmake 3.79.1 compiled under Mac OS X 10.1.4 (not that it matters) is here gmake-3_79_1-Mac_OS_X.tar.gz.
Its source is available from http://www.gnu.org/software/make/make.html
./configure --disable-nls
The next release of GNU make will use the latest version of Gettext, and this problem should be fixed there. Thanks for the report. -- ------------------------------------------------------------------------------- Paul D. SmithFind some GNU make tips at: http://www.gnu.org http://www.paulandlesley.org/gmake/ "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
If you obtain a "distribution" copy of the LifeLines source, then you won't need to run any of the autotools (discussed below). The makefiles are already generated. Simply run './configure' and 'make'.
Recently, compiling the repository requires "autoconf" 2.5 or later. This is fairly easy to obtain through GNU autoconf. Simply retrieve version 2.5.3 or higher (as a .tar.gz) file. Run ./configure, 'make', and 'sudo make install' (the sudo gets it done as root, but you enter your administrator password) to put the files autoconf, aclocal, autoheader, automake, and others in /usr/local/bin.
Running 'make check' takes a long time and turns up some failures, but they don't seem to be a problem for us.
You'll then want to modify your .cshrc file to make the path put /usr/local/bin before other directories. Here's a sample:
set path = (. /usr/local/bin $path ~/bin)
The ~/bin would refer to a directory where you have your own binaries or shell scripts. You could put a compiled copy of 'llines' there as
well if your account is the only one that needs access to it.
They are perl scripts. GNU automake is for automatic generation of 'Makefile.in' files. After downloading their 'source' they are created upon running the ./configure script in the automake source directory.
After successful creation, you can switch to root user (su command) and perform a 'make install' to put files where they needed to be. 'sudo make install' will do the same. Restart wasn't necessary, only starting up a new shell to pick up the new commands via the freshly examined directory path.
#!/bin/csh -f
set esc=`echo x|tr x '\033'`
alias cvsll \
"cvs -z3 -d:pserver:anonymous@cvs.lifelines.sourceforge.net:/cvsroot/lifelines"
echo "${esc}[1mPress Return on the Password${esc}[m"
cvsll login anonymous
cvsll update -d lifelines
cvsll logout
When obtaining the source for the first time, you'll need to make an empty subdirectory called lifelines and substitute "cvsll checkout lifelines" in place of the line "cvsll update -d lifelines" in the above script.
The -z3 option above uses compression (if you have 'compress' and 'uncompress' utilities on your system).
If you make the switch to being a developer, the changes that can
be made are to replace 'pserver' with 'ext' and 'anonymous' with your
SourceForge username. Also required is the setting of the environment variable CVS_RSH to "ssh":
setenv CVS_RSH ssh
#!/bin/csh -f # cd into the source directory cd lifelines rm -f config.h config.status ## the "-I m4" is necessary when gettext is not available #aclocal -I m4; autoheader; automake; autoconf #above line replaced with a script in the distribution: chmod +x autogen.sh sh ./autogen.sh ./configure --disable-nls --without-included-gettext --without-docs
Try leaving off some of those directives to 'configure' to experiment with whether they're needed. The ommission of the 'docs' step is necessary if one lacks the SGML tools for generating html/pdf/ps files from docbook files.
Or, you can use a compile script:
#!/bin/sh cd lifelines make
#!/bin/sh cp lifelines/src/liflines/llines .
[
Robert's LifeLines page
|
Robert's Genealogy Page
]
This page is currently at http://www.math.clemson.edu/~rsimms/genealogy/ll/Mac_OS_X.html