Skip to content

LinuxUnixInstallFromSource

Maxie D. Schmidt edited this page Jun 8, 2021 · 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 instructions given below. Mac OSX users choosing a source install method should see these notes first instead.

Distribution specific preparations

Debian-based Linux distributions from source preparations (e.g., for Ubuntu or Linux Mint)

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 libfreetype6-dev libxft-dev libssl-dev libboost-all-dev
$ sudo apt-get install python-dev python3-dev libmpfr6

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

Arch Linux from source preparations

Begin by installing the following packages (in order):

$ sudo pacman -S pacman-contrib
$ sudo pacman -S gcc gcc-libs gdb
$ sudo pacman -S libxpm mesa extra/glu libxinerama freetype2 libxft openssl libpng boost boost-libs cairo
$ sudo pacman -S python mpfr

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://github.com/gtDMMB/homebrew-core/raw/master/LocalPatches/fltk-1.4.x-20200124-59295b52.tar.bz2
$ tar xvjf fltk-1.4.x-20200124-59295b52.tar.bz2
$ cd fltk-1.4.x-20200124-59295b52

On Arch Linux, we need to run the following (otherwise optional) intermediate commands:

$ mkdir -p m4
$ aclocal && autoconf -i

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

$ LIBS+=" -lGLU" CPPFLAGS=`pkg-config --cflags libpng` LDFLAGS=`pkg-config --libs libpng` ./configure --enable-cairo --enable-threads --with-x --enable-x11 --enable-xft --enable-debug
$ make clean && 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:

$ cd ~
$ wget https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.18.tar.gz

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

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

On some platforms (e.g., on Arch Linux), the pkg-config configuration for Vienna is written to an incorrect directory. You can fix this problem by running the following commands:

$ export PKGCFG_PATHS=$(pkg_config --variable pc_path pkg-config)
$ sudo cp RNAlib2.pc $( echo $PKGCFG_PATHS | cut -d':' -f $(( $(echo $PKGCFG_PATHS | tr ":" "\n" | wc -l) + 1)) )
$ unset PKGCFG_PATHS

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 have followed the above instructions for installing FLTK from source with sudo exactly, you can skip the next export variable step. On the other hand, if you previously built FLTK in a local directory using these local install instructions, 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

In either case, you can now run RNAStructViz by typing RNAStructViz in your terminal.

Clone this wiki locally