Title: Madagascar Installation
1MadagascarInstallation
- Sergey Fomel
- University of Texas at Austin
- August 30, 2006
- Vancouver, BC
2This Presentation
- Introductory remarks
- History
- Goals
- Design principles
- Installation and compilation
- Downloading
- Software construction with SCons
- File structure
3Madagascar Story
- Started in 2003
- Publicly open in June 2006
- Open-source http//rsf.sourceforge.net
- Standing on SEPlib/SU shoulders
- RSF (regularly sampled format)
4Cumulative Downloads
Registered at freshmeat.net
Vancouver School announced
5(No Transcript)
6Source Referral (August 2006)
7Goal
- To make our research productive
- To make technology transfer efficient
computational experiments
8One Week Technology Transfer
Monday Get an idea
Tuesday Implement it
Wednesday Test it
Thursday Communicate it
Friday Commercialize it
a b c
9Madagascar Design Principles
- Document computational experiments
- Old experiments are regression tests
- New experiments become unit tests
Test Driven Development
10This Presentation
- Introductory remarks
- History
- Goal
- Design principles
- Installation and compilation
- Downloading
- Compiling with SCons
- File structure
11Downloading Madagascar
- Stable version
- madagascar-0.9.3
- SourceForge
- Unstable (development) version
- svn co https//svn.sourceforge.net/svnroot/rsf/tru
nk rsf - Update with svn update
- Commit with svn commit (developers)
- Browse at http//svn.sourceforge.net/viewvc/rsf/
- Subversion facilitates collaboration and version
control -
12Cumulative Subversion Access
13SCons (Software Construction)
- make replacement
- Built-in autoconf/automake functionality
- Written in
- Open-source http//www.scons.org
- Used for compiling Madagascar
- Used for managing processing flows
SCons is an easier, more reliable and faster way
to build software.
14From Tim OReillys blog OReilly Radar
15Installing from Source
- Unpack
- tar xvzf madagascar-0.9.3.tgz
- Prerequisites
- Install Python and SCons if necessary
- Set environmental variables
- Build
- scons config (generates config.py)
- scons install
- http//rsf.sf.net/wiki/index.php/Installation
RSFROOT root of installation PYTHONPATH add
RSFROOT/lib DATAPATH home for binary files
16Open Source
created by scons install
- madagascar-0.9.3/
- Sconstruct
- config.py
- api/
- book/
- filt/
- user/
- pens/
- plot/
- python/ convenience Python scripts
- scons/ SCons sources
- RSFROOT/
- bin/
- lib/
- include/
- doc/
- figs/
17Look Inside I
- madagascar-0.9.3/
- Sconstruct top software construction
- config.py created by scons config
ENV 'PATH' '/usr/local/bin/bin/usr/bin' AR
'ar' JPEG 'jpeg' PPM None CC
'gcc' CCFLAGS '-O2 -stdgnu99 -Wall -pedantic
-DNO_COMPLEX' CPPPATH LIBPATH LIBS
'm', 'rpc' XLIBPATH '/usr/X11R6/lib' XLIBS
'Xaw', 'Xt', 'X11' XINC '/usr/X11R6/include
' CXX 'g'
18Look Inside II
- api/ API tests C/Fortran/MATLAB
- book/ reproducible research tests
- gee/ book
- ajt/ chapter/paper
- SConstruct
- paper.tex (LaTeX)
- causint/ project
- SConstruct
- conv/
-
- hlx/
-
- bei/
- geo391/
-
from rsfproj import Flow('data1',None,'spike
n130 k115 label1') Flow('data2','data1','causin
t') Flow('data3','data1','causint
adjy') Flow('data4',None, 'spike n130
nsp2 k110,15 mag1,-1 label1
') Flow('data5','data4','causint') Flow('data6','d
ata4','causint adjy') Flow('data7','data5','causi
nt')
19Look Inside III
- filt/ program sources arranged by subject
- lib/ sources for rsf.h, librsf.a and API
bindings - SConstruct
- alloc.c
-
- main/ most common data manipulation programs
- SConstruct
- add.c
-
- proc/ processing
- imag/ imaging
- user/ program sources arranged by author
- fomels/
- slim/
- easily extensible
20Look Inside IV
- plot/ sources for Vplot generation
- lib/ sources for rsfplot.h, librsfplot.a
- SConstruct
- axis.c
-
- main/ RSF to Vplot
- SConstruct
- contour.c
-
- test/ Vplot from source
- pens/ sources for Vplot manipulation
- main/
- SConstruct
- pspen.c Vplot to PostScript
-
-
21Lessons
- Madagascar goal
- To make our research productive
- To make technology transfer efficient
- Multiple levels
- (Tuesday) implement main modules, C
- (Wednesday) test projects, SCons/Python
- (Thursday) communicate papers, LaTeX
- If you dont like it, please voice your concerns.
- Wiki Blog Mailing list Forums Bug
tracking Feature requests