Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 1.51 KB

HOWTO.md

File metadata and controls

65 lines (43 loc) · 1.51 KB

#Getting started

##Requirements

  • compilers

    • C/C++
    • Fortran
  • libraries and development headers

    • bzip2 (Perl, R, Python)
    • openssl (Python, )
    • gdbm (Python)
    • sqlite3 (Python)
    • tk (Python)
    • png (Python)
    • Xwindows (R)
    • PCRE (Python, R)

Note: gcc 8 through 14 work well for this. LLVM tends to be able to compile most of these packages though there are occassional compatibility issues. If you would like to adjust which compiler is used, options for the compilation, paths to the compiler, make a (backup) copy of

config/compiler.config.$OS

where $OS is the lower case version of the output of uname for the system you are building this on. Right now linux and darwin (mac OSX) are supported. We have supported SmartOS and FreeBSD in the past, but this support has been removed.

##Building

TL;DR version: cd scripts sudo ./prep_$OS.sh

where $OS is debian1{1,2}, ubuntu2{2,4}.04, rocky8, or mac. Then cd .. make

Note: this will take a long time, as several of the codes are quite time consuming to build. The process is (mostly) automated, and undergoing rapid development. The builds are done in parallel whenever possible.

Note: if you are building on Mac, homebrew is strongly recommended, and is the basis of the prep_mac.sh script.

To build everything after installing any dependencies

make

To build a specific project

make -f Makefile.$project

To clean up everything

make clean

To clean up a specific project

make -f Makefile.$project clean