summaryrefslogtreecommitdiff
path: root/install.txt
diff options
context:
space:
mode:
Diffstat (limited to 'install.txt')
-rw-r--r--install.txt113
1 files changed, 113 insertions, 0 deletions
diff --git a/install.txt b/install.txt
new file mode 100644
index 0000000..fbcc051
--- /dev/null
+++ b/install.txt
@@ -0,0 +1,113 @@
1<HEAD>
2 <TITLE>hmatrix installation</TITLE>
3 <STYLE> <!-- body{width: 600px; margin:50px auto;font-family:arial} --> </STYLE>
4</HEAD>
5
6
7[hmatrix]: http://code.haskell.org/hmatrix
8[hmatrix2]: http://perception.inf.um.es/hmatrix
9
10
11[hmatrix][hmatrix2] installation
12-------------------------------------------------------
13
14This package requires the [Glasgow Haskell Compiler](http://www.haskell.org/ghc/index.html) ghc >= 6.10, and [cabal-install](http://www.haskell.org/haskellwiki/Cabal-Install), conveniently available in the [Haskell Platform](http://hackage.haskell.org/platform).
15
16We also need the development packages for [GSL](http://www.gnu.org/software/gsl) and BLAS/[LAPACK](http://www.netlib.org/lapack). (The graphical functions also require **gnuplot** and **imagemagick**.)
17
18
19### Linux ##################################################
20
21
22Ubuntu/Debian:
23
24 $ sudo apt-get install libgsl0-dev liblapack-dev
25 $ cabal install hmatrix
26
27Arch Linux: If the automatic installation from Hackage fails, install atlas-lapack and gsl, unpack the source, change the build-type to Simple in hmatrix.cabal (line 28) and add extra-libraries: gsl lapack (line 194).
28
29Other distributions may require additional libraries. They can be given in a **--configure-option**.
30
31### Mac OS/X ###############################################
32
33
34GSL must be installed via MacPorts:
35
36 $ sudo port install gsl-devel +universal
37 $ cabal install hmatrix
38
39(Contributed by Heinrich Apfelmus and Torsten Kemps-Benedix).
40
41### Windows ###############################################
42
43
44See the [INSTALL file][install2] included in the distribution. We use this [GSL binary](http://www.miscdebris.net/blog/2009/04/20/mingw-345-binaries-of-gnu-scientific-library-112-for-use-with-mingw-and-visual-c/), and blas/lapack dlls built with g77 (contributed by Gilberto Camara). All required files are in [gsl-lapack-windows.zip][winpack].
45
46[install]: http://code.haskell.org/hmatrix/INSTALL
47[install2]: http://patch-tag.com/r/aruiz/hmatrix/snapshot/current/content/pretty/INSTALL
48[winpack]: http://perception.inf.um.es/hmatrix/gsl-lapack-windows.zip
49
50- - -
51
52### Tests ###############################################
53
54After installation we must verify that the library works as expected:
55
56 $ ghci
57 > Numeric.LinearAlgebra.Tests.runTests 20
58 OK, passed 100 tests.
59 OK, passed 100 tests.
60 ... etc...
61
62If you get any failure please run lapack's own tests to confirm that your version is not broken. For instance, in ubuntu 9.04, **libatlas-sse2** does not work (see this [bug report](https://bugs.launchpad.net/ubuntu/+source/atlas/+bug/368478)). If your lapack library is ok but hmatrix's tests fail please send a bug report!
63
64If everything is ok you can reinstall the library with minimal dependencies:
65
66 $ cabal install --reinstall hmatrix -f-tests [-f-vector] [-f-binary]
67
68- - -
69
70### Optimized BLAS/LAPACK ##########################################
71
72I have successfully tested ATLAS and MKL on Linux.
73
74### [ATLAS](http://math-atlas.sourceforge.net/) ####################
75
76In Ubuntu >= 9.04 we need:
77
78 $ sudo apt-get install libatlas-base-dev
79
80In older Ubuntu/Debian versions we needed:
81
82 $ sudo apt-get install refblas3-dev lapack3-dev atlas3-base-dev
83
84We may use a version (sse2, 3dnow, etc.) optimized for the machine.
85
86### Intel's MKL ###############################################
87
88There is a free noncommercial download available from Intel's website. To use it I have added the following lines in my .bashrc configuration file:
89
90 export LD_LIBRARY_PATH=/path/to/mkl/lib/arch
91 export LIBRARY_PATH=/path/to/mkl/lib/arch
92
93where arch = 32 or em64t.
94
95The library must be installed with the -fmkl flag:
96
97 $ cabal install hmatrix -fmkl
98
99- - -
100
101### Known problems ###############################################
102
103- libatlas-sse2-dev in Ubuntu 9.04 is broken (see this
104[bug report](https://bugs.launchpad.net/ubuntu/+source/atlas/+bug/368478)). Alternatively we can use libatlas-base-dev.
105
106- On **64-bit** machines the example "minimize.hs", when run from ghci, produces a segmentation fault. It happens in the call to gsl\_multimin\_fdfminimizer_alloc, inside the C wrapper. If the program is called by runhaskell, it just terminates prematurely, producing no results. Curiously, in compiled mode the program seems to work perfectly well.
107
108- **catch** does not work if the error is produced by a Haskell function when it is called from inside C function.
109
110- - -
111
112[Alberto Ruiz](http://dis.um.es/profesores/alberto)
113