Skip to content
Tomas Sieger edited this page Feb 20, 2017 · 32 revisions

idendro Wiki

Installation

Here come instructions on how to install idendro and its dependencies (Qt, qtbase, qtpaint, and cranvas).

Basically, idendro can be installed using the following R commands:

 if (!require('devtools')) install.packages('devtools')  # needs Curl for RCurl
 library(devtools)
 install_github('tsieger/idendro', args="--no-multiarch")

Prior to this, qtbase, qtpaint, and cranvas must be installed. To do so, please follow the official cranvas installation instructions, or proceed according to our alternative installation instructions (slightly more detailed in some aspects) given below.

In case of problems, please contact either the idendro author or the developers of the respective packages.

Table of Contents

Installation under Ubuntu

Installation under Mac OS X

Installation under Windows

Running from RStudio

Installation under Ubuntu

(Tested under Ubuntu 14.04, both 32-bit and 64-bit)

0) [Optional:] Install latex (if not installed already)

latex is needed to build vignettes for R packages. Note, however, that building vignettes can be disabled by using the argument build_vignettes=FALSE to install_github.

Issue the following shell commands:

 sudo apt-get install texinfo
 sudo apt-get install texlive-latex-extra
 sudo apt-get install texlive-fonts-recommended

Notes:

  • the second line resolves the "/usr/bin/texi2dvi missing" problem
  • the third line resolves the "Font T1/cmr/m/n/10=ecrm1000 at 10.0pt not loadable: Metric (TFM) file not found" problem

1) Install Qt, R, and utils

(instructions taken from https://github.com/ggobi/cranvas/wiki/Installation-under-ubuntu)

(Optional but recommended) Add the CRAN Ubuntu repository to your /etc/apt/sources.list file as per the instructions on CRAN.

Then issue the following shell commands:

 sudo apt-get update
 sudo apt-get install libqt4-dev qt4-qmake cmake r-base-dev libcurl4-gnutls-dev

which will install all required packages, including current R versions.

Note: the code above installs Qt4. Alternatively, you may want to install Qt5 (e.g. from here: http://download.qt-project.org/archive/qt/)

2) Install qtbase

a) In case you have Qt4 installed:

Issue the following R commands:

 if (!require('devtools')) install.packages('devtools')  # needs Curl for RCurl
 library(devtools)
 install_github('ggobi/qtbase@qt4')

b) In case you have Qt5 installed:

  • set LD_LIBRARY_PATH and CMAKE_PREFIX_PATH to point to Qt5 libraries and development stuff, respectively.

On 32-bit system, use:

LD_LIBRARY_PATH=<path to Qt5>/5.x/gcc/lib CMAKE_PREFIX_PATH=<path to Qt5>/5.x/gcc R

On 64-bit system, use:

 LD_LIBRARY_PATH=<path to Qt5>/5.x/gcc_64/lib CMAKE_PREFIX_PATH=<path to Qt5>/5.x/gcc_64 R

Then issue the following R commands:

 if (!require('devtools')) install.packages('devtools')  # needs Curl for RCurl
 library(devtools)
 install_github('ggobi/qtbase')

Note: if you have more versions of Qt5 installed, you may want to temporarily remove the version(s) you are not building against, such that qtbase does not accidentally link against these.

3) Install qtpaint

a) In case you have Qt4 installed, issue the following R command:

 install_github('ggobi/qtpaint@5a2a582')

b) In case you have Qt5 installed, issue the following R command:

 install_github('ggobi/qtpaint')

4) Install cranvas (and its dependencies)

Issue the following R commands:

 install.packages(c('scales', 'tourr', 'objectSignals', 'objectProperties', 'plumbr','SearchTrees')) # install scales from CRAN
 install_github(c('hadley/productplots', 'hadley/densityvis'))
 install_github('ggobi/cranvas', args="--no-multiarch")

5) Install idendro

Issue the following R command:

 install_github('tsieger/idendro', args="--no-multiarch")

Installation under Mac OS X

(Tested under Mac OS X 10.8.4 on Mac Pro 5.1, and Mac OS X 10.8.3 on MacBook Pro 7.1)

1) Install Qt

  • install Xcode from App Store
  • run Xcode and install Command line utilities (Preferences->Downloads)
  • download and install MacPorts (http://www.macports.org/install.php)
  • update MacPorts:
 sudo port selfupdate
  • install cmake and qt:
 sudo port install cmake
 sudo port install qt4-mac

2) Install qtbase and qtpaint

Run R 64-bit from command line (Running R from command line ensures that cmake can be found in $PATH; when running from "Applications", cmake could not be found.)

Install and load the devtools R package:

if (!require('devtools')) install.packages('devtools')  # needs Curl for RCurl
library(devtools)

Install qtbase and qtpaint:

install_github('ggobi/qtbase@qt4')
install_github('ggobi/qtpaint@5a2a582')

Note: in case a problem with texi2dvi arises, disable building vignettes:

install_github('ggobi/qtbase@qt4', build_vignettes=FALSE)
install_github('ggobi/qtpaint@5a2a582', build_vignettes=FALSE)

Note: in case a problem with wrong architecture appears, supply the args="--no-multiarch" argument to install_github:

install_github('ggobi/qtbase@qt4', args="--no-multiarch")
install_github('ggobi/qtpaint@5a2a582', args="--no-multiarch")

Note: if you get errors like smokedata.cpp:6646: error: QDBusServer was not declared in this scope switch to RStudio and build from there.

3) Install cranvas (and its dependencies)

Issue the following R commands:

 install.packages(c('scales', 'tourr', 'objectSignals', 'objectProperties', 'plumbr','SearchTrees')) # install scales from CRAN
 install_github(c('hadley/productplots', 'hadley/densityvis'))
 install_github('ggobi/cranvas', args="--no-multiarch")

Note: the --no-multiarch argument is necessary - otherwise R will try to build both the 64-bit and 32-bit versions (and building the 32-bit version would fail).

4) Install idendro

Issue the following R command:

 install_github('tsieger/idendro', args="--no-multiarch")

5) Restart R

Quit and restart R. Without the restart, Qt may not work properly, showing multiple warnings starting with QWidget::repaint: Recursive repaint detected.

Installation under Windows

To install on 64 bit Windows, please refer to the official cranvas installation instructions. The instructions below are relevant for 32 bit Windows only.

(Tested under Windows 7 SP1 32bit, R 3.1.0, RTools 3.1.0.1942, cmake 2.8.11, Qt 5.2.0 with minGW 4.8.0, qmake 3.0 and windres 2.32.2)

1) Install qtbase and qtpaint

Please follow instructions available from https://github.com/ggobi/cranvas/wiki/Installation-under-windows-32-bit.

You may need to make the following exceptions:

  • Do not use g++ from RTools, but from MinGW, preferrably the one being a part of your Qt installation. It seems that Qt 4.x (at least 4.8.2) asks for a specific version of MinGW. Qt 5.x (at least 5.2.1) comes with its own copy of MinGW (not sure if it gets installed by default). To be precise, the following environment variables settings were used:
CMAKE=C:\Program Files\CMake 2.8\bin\cmake.exe
QMAKE=C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin
RC_COMPILER=C:\Qt\Qt5.2.0\Tools\mingw48_32\bin\windres.exe
PATH=C:\Qt\Qt5.2.0\Tools\mingw48_32\bin;
    C:\Rtools\bin;
    C:\Rtools\gcc-4.6.3\bin;
    C:\Program Files\R\R-3.1.0\bin;
    C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin;
    C:\Strawberry\perl\bin;
    C:\Strawberry\perl\site\bin;
    C:\Strawberry\c\bin;
    C:\Program Files\CMake 2.8\bin;
    [...other directories...]
  • If you run into linking problems of multiple definition of _head_Qt5PrintSupport_dll, _head_Qt5XmlPatterns_dll, and _head_Qt5Test_dll, you may want to disable support for the Test, PrintSupport, and XmlPatterns Qt modules in src/CMakeFiles.txt and kde-bindings/smoke/qt/CMakeFiles.txt.

2) Install cranvas (and its dependencies)

Issue the following R commands:

 install.packages(c('scales', 'tourr', 'objectSignals', 'objectProperties', 'plumbr','SearchTrees')) # install scales from CRAN
 install_github(c('hadley/productplots', 'hadley/densityvis'))
 install_github('ggobi/cranvas', args="--no-multiarch")

3) Install idendro

Issue the following R command:

 install_github('tsieger/idendro', args="--no-multiarch")

Running from RStudio

When installing/running from within RStudio, one may experience problems loading/running qtbase. This can be caused by the fact that RStudio comes with its own copy of Qt, which can clash with the copy of Qt that qtbase is linked against.

The solution would be to move the Qt provided by RStudio to a place where RStudio can't find it. For example, one may want to find the directory in which the RStudio binary resides (e.g. /usr/lib/rstudio/bin) and issue the following shell commands (provided he/she has enough privilege to do so):

mkdir qt-moved
mv libQt* qt-moved