Personal tools

Leksah Installation

From HaskellWiki

Jump to: navigation, search

First look to the general information in the Manual.

When you get the following error:

Not in scope: `sourceLanguageManagerGuessLanguage'</code>

you have to install gtksourceview2 in a version > 2.4.0

When you get the following error:

Linking dist/build/leksah/leksah ...
/usr/bin/ld: cannot find -ledit
collect2: ld returned 1 exit status</code>

you have to install libedit development files.

The package type-level considered toxic! This package defines > 20000 newtypes for numbers and wastes a lot of space for metadata. So consider to unregister it, if you don't really need it.


1 Installation of 0.6.1 on Windows from binary

There is a binary installer for Windows, that could be downloaded from Before using it, you need to install the Haskell Platform (tested with version 2009.2).

2 Installation of 0.4.3 on Windows (Vista) from scratch

In the future when Leksah reaches production quality I hope we can provide a Windows installer.

0. cabal-install was not working for me. Probably because currently there is no gtk2hs >= 0.10.0 on Hackage right now.

1. Install your GHC from Duh. Mine was GHC 6.10.1.

2. Install gtk2hs from or It was 0.10.0 when I checked.

3. Install Cygwin with the online installer from Select packages wget, curl and gcc-core in adition to the standard selection. I used the 1.7.0 version of Cygwin setup, but it is still beta.

4*. Download darcs from, unpack it in under Program Files and add the path to your environment variables. The file I downloaded was darcsdir-cygwin-2.2.0.tar.bz2.

5. Download the GHC sources from Open a Cygwin shell, make a directory Haskell, copy the source tarballs here and unpack them.

6*. Download the binary and utf-8 packages from Hackage and copy them to the Haskell folder. Open a Cygwin shell in Administrator mode and unpack the tar files. Go to the directories and do runhaskell Setup configure, runhaskell Setup build, runhaskell Setup install.

7*. In the Haskell directory do a darcs get Go to the leksah directory and do a runhaskell Setup configure, runhaskell Setup build, runhaskell Setup install.

7a) Although I probably didn't get this, previously some gtk error message was resolved by editting C:/Program Files/Gtk2Hs/0.10.0/etc/gtk-2.0/gtkrc and change the theme name from MS-Windows to Raleigh: gtk-theme-name = "Raleigh"

8. You may wish to install a full Unicode monospace font if you want to use the source candy feature of leksah. e.g. Everson Mono or Deja Vu Sans Mono (or perhaps the GNU FreeFonts which are aesthetically pleasing to my eyes).

9. Start leksah and give your Haskell directory as source root. Select the right font from Help/Prefs.

10. Have fun with leksah, but remember it is a beta version!

NB* I actually experienced a bit of a problem here, darcs was taking too much time. While in Cygwin, I cabal-installed it! Voila! So the starred portions are actually unnecessary, I think.

3 Installation of 0.6.1 on Ubuntu 9.04

Built in Ubuntu 9.04 using GHC 6.10.4 from Someone561's PPA. cabal-install was bootstrapped using original ghc from the distribution, because of dependency problems. GHC 6.10.4 was installed afterwards.

3.1 Install cabal-install from CabalInstall

3.2 Upgrade GHC to 6.10.4

3.3 Install gtk2hs

$ sudo aptitude build-dep libghc6-gtk-dev
$ sudo aptitude install libgtk2.0-dev libgtksourceview2.0-dev libcairo2-dev checkinstall

in gtk2hs sources:

$ ./configure
$ make
$ checkinstall

(say 'n' to question about making docs. checkinstall makes a deb package gtk2hs that could be easily uninstalled - normally you could do make install)

3.4 Install Leksah using cabal

$ cd ~/.cabal/bin
$ ./cabal update
$ ./cabal install leksah
Resolving dependencies...
cabal: cannot configure regex-compat-0.92. It requires regex-base >=0.93
For the dependency on regex-base >=0.93 there are these packages:
regex-base-0.93 and regex-base-0.93.1. However none of them are available.
regex-base-0.93 was excluded because regex-base- was selected instead
regex-base-0.93 was excluded because leksah-0.6.0 requires regex-base ==
regex-base-0.93.1 was excluded because regex-base- was selected instead
regex-base-0.93.1 was excluded because leksah-0.6.1 requires regex-base

To solve these dependency problems, we need to add some constraints to the installation process like so:

$ ~/.cabal/bin/cabal install --constraint='regex-posix ==' --constraint='regex-compat ==' leksah

3.5 running the IDE

Leksah should now work. If you have problems running with config from older version, consider removing the old configuration:

$ rm ~/.leksah -r

To start the IDE:

$ export PATH=$PATH:~/.cabal/bin
$ leksah

4 Installation of on Ubuntu 8.10

Hello, I've installed Leksah today in Ubuntu 8.10. This procedure is based on the one given in the manual, but uses GHC 6.10.2. Hope it will be useful. (Maciej Noszczyński)

 # setup
cd ~
mkdir ghc-build
cd ghc-build

 # compile ghc 6.10.2
sudo aptitude build-dep ghc6
tar jxf ghc-6.10.2-src.tar.bz2
tar jxf ghc-6.10.2-src-extralibs.tar.bz2
cd ghc-6.10.2/
./configure --prefix ~/ghc
make install
cd ..

 # cleanup and setup paths
sudo aptitude remove ghc6
export PATH=$PATH:/home/username/ghc/bin:/home/username/.cabal/bin
(you should put this export into some startup file e.g. .bash_profile
and source it when needed)

 # gtk2hs from darcs (> 0.10.0) is needed for 6.10.2
sudo aptitude install darcs
darcs get --partial
aptitude install happy alex libglib2.0-dev libgtk2.0-dev
libgtksourceview2.0-dev libgmp3-dev autoconf libtool
cd gtk2hs
sudo make install
cd ..

 # cabal install
tar zxf cabal-install-0.6.2.tar.gz
cd cabal-install-0.6.2
cd ..

 # build and install Leksah
tar zxf leksah-
cd leksah-
mv leksah.cabal leksah.cabal.old
sed -e 's/Cabal == >=' leksah.cabal.old > leksah.cabal
cabal update
cabal install binary
cabal install utf8-string
runhaskell Setup configure --user
runhaskell Setup build
runhaskell Setup install
cd ..

 # run the IDE

5 Running

To run Leksah after installation using cabal, you could use this simple script:

export PATH=$PATH:~/.cabal/bin
leksah &> ~/leksah.log

Leksah outputs quite a lot of useful information to stdout at the moment, so it might be useful to watch the log by issuing

$ tail -f ~/leksah.log

in the terminal window.

If you want a nice icon for graphical environment shortcut, you could use data/leksah.png.

WARNING: Running leksah 0.6.1 from GNOME accelerator without terminal seemed to crash the whole X session for me (MNo) after a while of editing. If you have the same problem, you might be better off without output redirection ("&> ~/leksah.log") and setting accelerator type to "terminal program".