Skip to content

LinuxUnixInstallFromSource

Maxie D. Schmidt edited this page Nov 5, 2019 · 42 revisions

Installation from source on Linux and Unix (requires sudo)

Users without access to the sudo command or without the ability to install system packages should see the local source install notes for instructions on how to build RNAStructViz in their home directory. All other users on a recent enough Linux or BSD Unix machine can follow the next instructions given below. Mac OSX users choosing a source install method should see these notes first instead.

Debian-based Linux distributions from source preparations

First install the Mesa/GL, OpenSSL (for hashing), and Boost libraries
with apt if you do not already have them on your system:

$ sudo apt-get install libglu1-mesa-dev mesa-common-dev libxinerama-dev libssl-dev libboost1.62-all-dev

If problems with the package names arise, you can try searching for the correct package to install by issuing the following command:

apt-cache search package-name

Once these libraries are installed make sure that you have the development packages for Cairo installed by running:

$ sudo apt-get install libcairo2-dev

Installing FLTK from source

We fetch and extract a recent stable version of the FLTK library source (v1.4.x) and extract it to our local home directory:

$ cd ~
$ wget https://www.fltk.org/pub/fltk/snapshots/fltk-1.4.x-20191025-4f8e692f.tar.gz
$ tar xvzf fltk-1.4.x-20191025-4f8e692f.tar.gz
$ cd fltk-1.4.x-20191025-4f8e692f

Now we need to enable the configure-time options which will enable Cairo support by default in our FLTK build:

$ make clean
$ CPPFLAGS=`pkg-config --cflags libpng` LDFLAGS=`pkg-config --libs libpng` ./configure --enable-cairo --enable-threads --with-x --enable-x11
$ make
$ sudo make install 

You can verify that the install was successful by verifying that the following output is sane:

$ which fltk-config
/usr/local/bin/fltk-config
$ fltk-config --libs --use-cairo

Next, we tell the RNAStructViz Makefile where it should look for fltk-config:

$ export FLTKCONFIG=`which fltk-config`

Installing Vienna RNA (RNAlib) from source

We will require the latest source of Vienna RNA to install the necessary RNAlib library which we utilize to generate radial layout diagrams in the application:

$ sudo apt-get install python3-dev libmpfr6 python-dev
$ cd ~
$ wget https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.14.tar.gz

We continue below by installing Vienna and its component library from source:

$ tar xvzf ViennaRNA-2.4.14.tar.gz
$ cd ViennaRNA-2.4.14
$ make clean
$ ./configure --disable-debug --disable-dependency-tracking --with-python
$ make
$ sudo make install

Test if the library is installed by running:

$ pkg-config --cflags --libs RNAlib2
-pthread -I/usr/local/include -I/usr/local/include/ViennaRNA -L/usr/local/lib -lRNA -fopenmp

Completing the from-source install

Now on to building RNAStructViz from source. We need to fetch a local copy of the RNAStructViz source code so that we can build it for ourselves:

$ cd ~
$ git clone https://github.com/gtDMMB/RNAStructViz.git
$ cd RNAStructViz

If you previously built FLTK in a local directory, you need to first run:

$ export FLTK_INSTALL_DIR=/home/myUserName/path/to/FLTK

Now we are ready to build the source:

$ make clean && make && make run

At this point if all goes well you should have a working copy of the RNAStructViz binary in the current working src/ directory. Let's make an alias for this command so it's easier to find and use on the system:

(On Linux)

$ echo "alias RNAStructViz=\'$(readlink -f src/RNAStructViz)'" >> ~/.bashrc
$ source ~/.bashrc
$ RNAStructViz

(On Mac)

$ echo "alias RNAStructViz=\'$(greadlink -f src/RNAStructViz)'" >> ~/.bash_profile
$ source ~/.bash_profile
$ RNAStructViz

Alternately, if you want your recent build of RNAStructViz installed in your default system search path, you can choose to just install the application globally on your system by running the following command:

$ sudo make install