Home >> Madeline 2.0 Installation Instructions
Madeline 2.0 PDE Installation Instructions
Madeline is distributed primarily in source code form. Installation therefore normally requires building Madeline on your own computer. Even if you plan on building Madeline on Apple OS X or Windows, please familiarize yourself with the directions for Linux first, as the procedure is very similar on all platforms, and for the other platforms I will primarily point out where things are different from Linux rather than repeating every detail from the Linux section.
Jump to installation directions for:
- Linux (recommended reading!)
- Macintosh OS X
- Windows
Linux
Introduction
It is straightforward to build Madeline 2.0 PDE on a modern Linux system. These instructions assume that you have basic familiarity with installing software, including installation from source packages, on Linux.
Software package management varies by Linux distribution. Examples of binary package installation shown below are based on Ubuntu because Ubuntu is an extremely popular distribution of Linux and the Debian-based Advanced Packaging Tool ("apt") is robust, convenient, and easy to use. Procedures for other distributions will be comparable: consult your system documentation as required.
Prerequisites
Make sure that you have the following installed on your system:
-
Standard Linux development tools are needed to build Madeline from source.
This includes the GCC compiler,
GNU make, a linker, and others.
If you are unfamiliar with these tools and procedures, consider taking some time to read this
introduction to installing
software from source in Linux or this
introduction to development on Linux.
-
The Subversion
source code management tool is needed to checkout the Madeline source code tree.
The command-line tool, svn, should be available on modern Linux distributions:
# apt-get install subversion
CMake is a modern cross-platform build system used by Madeline.
If you are using an older distribution of Linux, you might need to upgrade to the latest version of CMake
before attempting to build Madeline. If you are using Ubuntu or a similar
debian-based system, you would upgrade cmake as root using the following command:
# apt-get install cmake
OpenSSL
implements the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols
as well as a full-strength general purpose cryptography library. The SSL library is used by
LibCurl (below) to provide HTTPS (hypertext transfer protocol over secure sockets). While your
Linux system almost certainly already has an installed SSL library, it is worthwhile to check
that you have the latest version. It is critical to have the development package installed
so that LibCurl will have access to the header files needed for compilation. If you are using
Ubuntu or a similar debian-based system, you can, as root, upgrade to the latest
development package using the following command:
# apt-get install libssl-dev
LibCurl is an OpenSource library which
provides network services such as HTTP and HTTPS. Madeline uses LibCurl to read
files over the network. LibCurl is present on modern Linux systems, but you might
have to install the development version of LibCurl which includes the
header files. For example, on Ubuntu as root you would execute the following command
to install the development files needed when using LibCurl:# apt-get install libcurl-dev
libXML2 is an Open Source library for parsing
XML. Madeline uses libXML2 to parse many of the data files that it recognizes.
LibXML2 is present on modern Linux systems, but you still might have to install the
development version of LibXML2 which includes the header files. Using Ubuntu
as an example again, the installation command would look like this:
# apt-get install libxml2-dev
Recommended
-
Inkscape
is an Open Source scalable vector graphics (SVG) editor
with capabilities similar to Adobe Illustrator, CorelDraw, or Xara X. Download and install this
if you don't already have a program for viewing and editing the pedigree drawings produced by Madeline.
# apt-get install inkscape
Optional
-
DOxygen
is a source code documentation system. Make sure you have this tool if you plan
to look at the source code for Madeline.
# apt-get install doxygen
OK, we are now ready to build the software:
Step 1: Get the source
Check out the latest source code using svn. This may take a few minutes:
~> svn co https://madeline2.svn.sourceforge.net/svnroot/madeline2 madeline2
A madeline2/madeline2
A madeline2/madeline2/trunk
A madeline2/madeline2/trunk/cmake
A madeline2/madeline2/trunk/cmake/modules
A madeline2/madeline2/trunk/cmake/modules/FindGetText.cmake
A madeline2/madeline2/trunk/cmake/modules/FindMySQL.cmake
A madeline2/madeline2/trunk/cmake/modules/FindPackageHandleStandardArgs.cmake
A madeline2/madeline2/trunk/cmake/modules/FindLibXml2.cmake
A madeline2/madeline2/trunk/cmake/modules/FindMySQL++.cmake
A madeline2/madeline2/trunk/cmake/modules/FindLibcurl.cmake
A madeline2/madeline2/trunk/cmake/modules/FindLibintl.cmake
A madeline2/madeline2/trunk/configure
A madeline2/madeline2/trunk/src
A madeline2/madeline2/trunk/src/Network.h
...
A madeline2/madeline2/tags
Checked out revision 71.
~>
Step 2: Configure
Navigate to the trunk directory and run cmake . (the dot "."
is important!). Alternatively, you can just type ./configure which
will run
cmake for you:
~> cd madeline2/madeline2/trunk
~> cmake .
-- Check for working C compiler: /usr/local/bin/gcc
-- Check for working C compiler: /usr/local/bin/gcc -- works
-- Check size of void*
-- Check size of void* - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
...
-- === NOTA BENE: === Madeline will be installed in /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/edtrager/madeline2/madeline2/trunk
~>
Step 3: Build
Run make:
~> make
...
Generating docs for file XMLTagManager.h...
Generating class documentation...
Generating annotated compound index...
Generating hierarchical class index...
Generating member index...
Generating docs for compound Affected...
Generating docs for compound AffectedMapLoader...
Generating docs for compound AssociativeArray...
Generating docs for compound Boolean...
...
[ 19%] Building C object 3rdParty/bzip2/CMakeFiles/bzip2.dir/randtable.o
Linking C static library ../../libs/libbzip2.a
[ 19%] Built target bzip2
Scanning dependencies of target unzip
[ 20%] Building C object 3rdParty/unzip/CMakeFiles/unzip.dir/unzip.o
Linking C static library ../../libs/libunzip.a
[ 20%] Built target unzip
Scanning dependencies of target madeline2
[ 22%] Building CXX object src/CMakeFiles/madeline2.dir/Affected.o
[ 23%] Building CXX object src/CMakeFiles/madeline2.dir/Boolean.o
[ 25%] Building CXX object src/CMakeFiles/madeline2.dir/Carrier.o
[ 26%] Building CXX object src/CMakeFiles/madeline2.dir/CLP.o
...
[ 98%] Building CXX object src/CMakeFiles/madeline2.dir/XMLTagManager.o
[100%] Building CXX object src/CMakeFiles/madeline2.dir/main.o
Linking CXX executable ../bin/madeline2
[100%] Built target madeline2
~>
Step 4: Install
Run make install as root:
~> su -c "make install"
~> password: ******
...
Linking CXX executable CMakeFiles/CMakeRelink.dir/madeline2
Install the project...
-- Install configuration: ""
-- Install configuration: ""
-- Install configuration: ""
-- Install configuration: ""
-- Install configuration: ""
-- Installing /usr/local/share/locale/fr/LC_MESSAGES/madeline2.mo
-- Installing /usr/local/share/locale/th/LC_MESSAGES/madeline2.mo
-- Installing /usr/local/share/locale/zh_CN/LC_MESSAGES/madeline2.mo
-- Installing /usr/local/share/locale/zh_TW/LC_MESSAGES/madeline2.mo
-- Install configuration: ""
-- Installing /usr/local/docs/AUTHORS
-- Install configuration: ""
-- Installing /usr/local/bin/madeline2
~>
That's it! You are done.
Running Madeline
Now try running madeline using one of the online test data sets:
~> madeline2 -L "IndividualId DOB" http://eyegene.ophthy.med.umich.edu/madeline/testdata/input/cs_010.data ShowColumns is IndividualId DOB Total: 2 Parser::readNetworkFile(): Opening network file http://eyegene.ophthy.med.umich.edu/madeline/testdata/input/cs_010.data ... Parser::readFile(): Opening a(n) UTF-8 file ... Reading file data in Madeline flat file format ... iconColumns size 1 Table 1 is a pedigree table. Start of addPedigreesFromDataTable Siblings are ordered by DOB. End of addPedigreesFromDataTable Start of draw No of labels: 2 Pedigree output file is "cs_010ped.xml" End of draw ~> inkscape cs_010ped.xml &
The resulting cs_010ped.xml file should look like the following when viewed in inkscape or another SVG viewer:
Mac OS X
Introduction
Building Madeline on OS X is very similar to the procedure on Linux. Start by opening up a
terminal window.
Before proceeding with building Madeline, check that you have the prerequisites shown below installed.
In order to reduce problems, notice that I suggest building some prerequisites on the command
line from source and installing in /usr/local.
Prerequisites
-
Apple's XCode development environment
is required to build Madeline on OS X.
XCode includes Apple's version of the GCC compiler, GNU make, and other required tools.
Subversion source code management tool is needed to checkout the Madeline source code tree. Subversion's command-line tool, svn, should be available after you have completed installation of XCode.-
CMake is a modern cross-platform
build system used by Madeline. Although a graphical version of CMake is
available for OS X, I found it necessary to compile and install CMake from
source code (be sure to check the web for the latest version!). These instructions
will install cmake in /usr/local/:
~> wget http://www.cmake.org/files/v2.6/cmake-2.6.3.tar.gz ~> tar xzf cmake-2.6.3.tar.gz ~> cd cmake-2.6.3 ~> ./configure ~> make ~> sudo make install password: ****** ~>
gettext from source code on OS X (check for latest version
before copying these directions!). These instructions will install gettext
in /usr/local:
~> wget wget ftp.gnu.org:/pub/gnu/gettext/gettext-0.17.tar.gz ~> tar xzf gettext-0.17.tar.gz ~> cd gettext-0.17 ~> ./configure ~> make ~> sudo make install password: ****** ~>
Recommended
-
Inkscape
is an Open Source scalable vector graphics (SVG) editor
with capabilities similar to Adobe Illustrator, CorelDraw, or Xara X.
A version for OS X is available. It requires X Windows which is
installed by default on OS X 10.5.x (Leopard) and later.
Download and install Inkscape
if you don't already have a program for viewing and editing the pedigree drawings produced by Madeline.
OK, we are now ready to build the software. These steps are identical to those on Linux:
Step 1: Get the source
Check out the latest source code using svn. This may take a few minutes:
~> svn co https://madeline2.svn.sourceforge.net/svnroot/madeline2 madeline2
Step 2: Configure
Navigate to the trunk directory and run cmake . (the dot "."
is important!) or you can just type ./configure which
will run
cmake for you:
~> cd madeline2/madeline2/trunk
~> ./configure
-- Check for working C compiler: /usr/local/bin/gcc
...
Step 3: Build
~> make
...
Step 4: Install
~> sudo make install
password: ******
...
That's it!
Running Madeline
Try running madeline using one of the online test data sets. Note the command for running Inkscape from the OS X terminal window:
~> madeline2 -L "IndividualId DOB" http://eyegene.ophthy.med.umich.edu/madeline/testdata/input/cs_010.data
...
Pedigree output file is "cs_010ped.xml"
End of draw
~> open -a inkscape cs_010ped.xml
Windows
Introduction
Building Madeline on Windows (XP, Vista) currently requires Cygwin. Once Cygwin along with all dependencies have been properly installed, installing Madeline is very similar to the procedure on Linux.
Prerequisites
-
Cygwin is a Linux-like environment for Windows.
It consists of a number of tools and dynamic link libraries (DLLs) which at the current time
are required to build Madeline on modern Windows (XP and Vista) platforms.
-
After starting the Cygwin installer, choose "
Install from Internet ".
-
Choose " Install For
All Users (RECOMMENDED) ".
-
Choose " Default Text File Type
Unix/binary (RECOMMENDED) ".
-
Normally you can just select "
Direct Connection " and choose
any download mirror near you.
-
The Cygwin installer
allows you to choose a number of packages. Be sure to select the following items for installation.
All of these should be present under the "Devel" tab (although they may also be repeated under other tabs):
- autoconf
- binutils
- cmake
- curl-devel
- doxygen (optional)
- gcc-g++
- gettext-devel
- libxml2-devel
- make
- openssl-devel
- subversion
Installing Cygwin may take some time. Be patient ...
Recommended
-
Inkscape
is an Open Source scalable vector graphics (SVG) editor
with capabilities similar to Adobe Illustrator, CorelDraw, or Xara X.
A version for Windows is available.
Download and install Inkscape if you don't already have a program
for viewing and editing the pedigree drawings produced by Madeline.
OK, we are now ready to build the software. From this point on, the steps are identical to those on Linux:
Step 1: Get the source
Open a Cygwin terminal window and then check out the
latest source code using svn. This may take a few minutes:
~> svn co https://madeline2.svn.sourceforge.net/svnroot/madeline2 madeline2
Step 2: Configure
Navigate to the trunk directory and run cmake . (the dot "."
is important!) or you can just type ./configure which
will run
cmake for you:
~> cd madeline2/madeline2/trunk
~> ./configure
-- Check for working C compiler: /usr/local/bin/gcc
...
Step 3: Build
~> make
...
Step 4: Install
On Windows you probably will not need to become admin to do the install:
~> make install
password: ******
...
That's it!
Running Madeline
Try running madeline using one of the online test data sets:
~> madeline2 -L "IndividualId DOB" http://eyegene.ophthy.med.umich.edu/madeline/testdata/input/cs_010.data
...
Pedigree output file is "cs_010ped.xml"
End of draw
~>
Then try viewing the resulting file, cs_010ped.xml in Inkscape or another vector graphics viewer.
* * * END OF DOCUMENT * * *