Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

How to install latest GHC 7.8.4 + cabal 1.22 on intel edison w/ ubi linux

ghc

ubilinux prerequisites

# for untar later
apt-get install bzip2
# probably all needed
apt-get install freeglut3 freeglut3-dev -y

ghc installation

# get distr  
mkdir /home/edison/downloads
cd /home/edison/downloads  
wget http://downloads.haskell.org/~ghc/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.bz2
tar xvfj ghc-7.8.4-x86_64-unknown-linux-deb7.tar.bz2    
cd ghc-7.8.4

# install to  
mkdir -p /home/edison/dev/bin/ghc-7.8.4  
# or choose another path

./configure --prefix=/home/edison/dev/bin/ghc-7.8.4

make install

# symbol links  
cd $HOME/Development/bin  
ln -s `pwd`/ghc-7.8.4 ghc

# add $HOME/Development/bin/ghc to $PATH 
# add this line to ~/.profile
export GHC_HOME=$HOME/Development/bin/ghc  
export PATH=$GHC_HOME/bin:${PATH}

# to use updated path without log off
source ~/.profile

# remove temporary files  
cd $HOME/Downloads  
rm -rf ghc-7.8.4*

cabal (package manager for haskell)

# remove old  
rm -rf $HOME/.cabal

cabal library

# clone dist  
cd $HOME/Downloads  
curl -O https://www.haskell.org/cabal/release/cabal-1.22.0.0/Cabal-1.22.0.0.tar.gz

# extract   
tar xzvf Cabal-1.22.0.0.tar.gz  
cd Cabal-1.22.0.0  

# build
ghc --make Setup.hs
./Setup configure --user
./Setup build
./Setup install

# Remove temporary files
cd $HOME/Downloads
rm -rf Cabal-1.22.0.0*

cabal-install

# remove ghc cache (in case of reinstall)  
if [ -d "$HOME/.ghc/" ]; then  
  ghc-pkg --user recache  
fi  

# get distributive  
cd $HOME/Downloads  
curl -O https://www.haskell.org/cabal/release/cabal-install-1.22.0.0/cabal-install-1.22.0.0.tar.gz

# extract archive  
tar xzvf cabal-install-1.22.0.0.tar.gz  
cd cabal-install-1.22.0.0  

# install  
./bootstrap.sh

# remove temporary files  
cd $HOME/Downloads  
rm -rf cabal-install-1.22.0.0*  

# add path to cabal to PATH environment
CABAL_HOME=$HOME/cabal
PATH=$CABAL_HOME/bin:$PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.