Skip to content

Configuration and building

Konrad Siek edited this page Aug 1, 2017 · 24 revisions

Prerequisites

libcurl (libcurl4-gnutls) cmake sqlite3 libsqlite3-dev # promise tracer
gsl-bin libgsl-dbg libgsl-dev xml2 libxml2-dev libmpfr-dev libmpfr-doc libmpfr4 libmpfr4-dbg # packages

set JAVA_PATH or have java in PATH

The easy way

The entire project:

./build.sh

Just the promise tracer module:

./build-tracer.sh

Post instalation:

./install_packages.sh
./sanity_check.sh

Trace vignettes of 25 selected packages:

./run_vignettes.sh

Magic incantations

  • Ubuntu 16.04 (kondziu: lucoa/ginger):

    export CPPFLAGS="-g3 -O0 -ggdb"
    export CFLAGS="-g3 -O0 -ggdb"
    export R_KEEP_PKG_SOURCE=yes
    export CXX="g++ -std=c++14"
    
    ./configure --with-blas --with-lapack --without-ICU --without-x \
                --without-tcltk --without-aqua --without-recommended-packages \
                --without-internal-tzcode --with-included-gettext --enable-rdt
    make clean
    make -j8
    
    cd rdt-plugins/promises
    make clean
    cmake .
    make
    cd ../..
    

    Explanation: for some reason, the -std=... flag is not passed

  • Ubuntu 16.10 (kondziu):

    export CPPFLAGS="-g3 -O0 -ggdb"
    export CFLAGS="-g3 -O0 -ggdb"
    export R_KEEP_PKG_SOURCE=yes
    
    ./configure --with-blas --with-lapack --without-ICU --without-x \
                --without-tcltk --without-aqua --without-recommended-packages \
                --without-internal-tzcode --with-included-gettext --enable-rdt
    make clean
    make -j8
    
    cd rdt-plugins/promises
    make clean
    cmake .
    make
    cd ../..
    
  • Arch Linux (4.10.5-1-ARCH) (licekto+nohajc):

    ./configure --with-blas --with-lapack --without-ICU --without-x \
                --without-tcltk --without-aqua --without-recommended-packages \
                --without-internal-tzcode --with-included-gettext --enable-rdt
    
  • OSX 10.12 using Apple clang (fikovnik):

    CFLAGS="-O0 -gdwarf-4 -g3" ./configure --with-blas --with-lapack --without-ICU --without-x --without-tcltk --without-aqua --without-recommended-packages --without-internal-tzcode --enable-rdt  
    make
    

Installing packages

Install prerequisites for packages:

  • GSL (GNU Scientific Library) sudo apt install gsl-bin libgsl-dbg libgsl-dev
  • XML2 sudo apt install xml2 libxml2-dev
  • MPFR sudo apt install libmpfr-dev libmpfr-doc libmpfr4 libmpfr4-dbg

Then run install script:

R_MAX_NUM_DLLS=614 bin/Rscript r-package-anthology.r