Sandhi, as mentioned earlier, is a free and open-source software, it can be downloaded and distributed freely under GNU GPL V3
Sandhi is conglomeration of libraries and softwares. It uses GNU Radio at its core. For computational purposes, Scilab and Octave can be interfaced with Sandhi. Sandhi uses a special wrapper called Sciscipy which allows one to call scilab functions from python without having to worry about datatype conversion.
If on Ubuntu 12.04, one can directly install using command-
sudo apt-get -y install git-core autoconf automake make libtool g++ python-dev swig \
pkg-config libboost1.48-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \
libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev \
python-serial python-matplotlib
Please note that Sandhi has been known to not work libboost1.49 available in Ubuntu 12.10 repositories.
Sciscipy is must for Sandhi's control blocks to work; to install:
Clone sciscipy-1.0.0 from our repository; run install script from the directory with sudo privileges to automatically pull all dependencies for Sciscipy, build and install it
git clone https://github.com/manojgudi/sciscipy-1.0.0.git
cd sciscipy-1.0.0/
sudo ./install
git clone http://github.com/gnu-sandhi/sandhi.git
cd sandhi/
git submodule init
git submodule update
-- UPDATING FROM EXISTING CHECKOUT --
cd sandhi/
git pull origin master
git submodule update
cd sandhi/
mkdir build
cd build/
cmake ../
make -j 2
sudo make install
sudo ldconfig
Builds for Ubuntu 12.04 for 64bit Architecture is hosted here
We use a package called fpm to roll-out .deb files for Ubuntu.
-
First install fpm for Ubuntu
sudo apt-get install rubygems
-
Download ffi package
Install that using gem
gem install ffi
-
Similarly, download latest fpm.gem
gem install fpm
Now packaging Sandhi using fpm we have to build Sandhi by changing cmake option.
cmake -DCMAKE_INSTALL_PREFIX:PATH=out
and then proceed as given in Build it section from make command.
fpm -s dir -t deb -n "sandhi" -v 0.9 -C out/ -p sandhi-VERSION_ARCH.deb -d "git-core autoconf automake make libtool g++ python-dev swig pkg-config libboost1.48-all-dev libfftw3-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev" /usr/local/bin /usr/local/include/ /usr/local/lib /usr/local/libexec/ /usr/local/share/ /usr/local/etc/
-
To run sandhi, path variables need to be set; even if one has installed through debian package.
-
Set Path variables in /etc/environment
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
export SCI=/usr/share/scilab
export LD_LIBRARY_PATH=:/usr/lib/scilab:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/native_threads/:/usr/local/lib
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages/
-
Source /etc/environment in .bashrc
source /etc/environment
-
Logout and login again, and you are done!