Tested on (Requirements)

  • OS base: CentOS (x86_64) \(\boldsymbol{\ge}\) 6.6 (Rocks 6.2)
  • Compiler: Intel Parallel Studio XE Cluster Edition \(\boldsymbol{\ge}\) 17.0.1

Build process

  1. Get the current BayeScan version from the official webpage and enter into the source directory.

    wget http://cmpg.unibe.ch/software/BayeScan/files/BayeScan2.1.zip
    upzip BayesScan2.1.zip
    cd BayeScan/source
    
  2. Modifie the Makefile in order to use icpc (C++ Intel Compiler), instead of g++.

    # BayeScan makefile
    
    CC=icpc 
    
    bayescan_2.1: start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o 
    	$(CC) -fopenmp -static -lpthread -o bayescan_2.1 start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o 
    
    start.o: start.cpp errors.cpp anyoption.h global_defs.h
    	$(CC) -fopenmp -c start.cpp errors.cpp 
    
    beta.o: beta.cpp global_defs.h
    	$(CC) -fopenmp -c beta.cpp 
          
    dirichlet.o: dirichlet.cpp global_defs.h
    	$(CC) -fopenmp -c dirichlet.cpp 
    
    RJupdates.o: RJupdates.cpp global_defs.h
    	$(CC) -fopenmp -c RJupdates.cpp 
    
    MHupdates.o: MHupdates.cpp global_defs.h
    	$(CC) -fopenmp -c MHupdates.cpp 
    
    likelihood.o: likelihood.cpp global_defs.h
    	$(CC) -fopenmp -c likelihood.cpp 
    
    read_write.o: read_write.cpp errors.cpp global_defs.h
    	$(CC) -fopenmp -c read_write.cpp errors.cpp 
    
    anyoption.o: anyoption.cpp anyoption.h 
    	$(CC) -fopenmp -c anyoption.cpp 
    
    clean: 
    	rm *.o bayescan_2.1
    
  3. Build BayeScan

    make
    

    Note

    You must load the necessary modules to build BayeScan (i.e. Intel Compiler).

    In Apolo II:

    module load intel/2017_update-1
    

    In Cronos:

    module load intel/intel-18.0.2
    
  4. Finally, create the installation directory and move the built executable.

Apolo

mkdir -p /share/apps/bayescan/2.1/intel-2017_update-1/bin
mv bayescan_2.1 /share/apps/bayescan/2.1/intel-2017_update-1/bin/bayescan

Cronos

mkdir -p /share/apps/bayescan/2.1/intel-18.0.2/bin
mv bayescan_2.1 /share/apps/bayescan/2.1/intel-18.0.2/bin/bayescan

Modulefile

Apolo II

#%Module1.0####################################################################
##
## module load bayescan/2.1_intel-2017_update-1
##
## /share/apps/modules/bayescan/2.1_intel-2017_update-1
## Written by Juan David Arcila Moreno
##

proc ModulesHelp {} {
     global version modroot
     puts stderr "Sets the environment for using bayescan 2.1_intel-2017_update-1\
		  \nin the shared directory \
		  \n/share/apps/bayescan/2.1/intel-2017_update-1\
		  \nbuilded with icpc compiler from Intel/2017_update-1. This application uses OpenMP"
}

module-whatis "(Name________) bayescan"
module-whatis "(Version_____) 2.1_intel-2017_update-1"
module-whatis "(Compilers___) intel-2017_update-1"
module-whatis "(System______) x86_64-redhat-linux"
module-whatis "(Libraries___) "

# for Tcl script use only
set         topdir        /share/apps/bayescan/2.1/intel-2017_update-1
set         version       2.1_intel-2017_update-1
set         sys           x86_64-redhat-linux

conflict bayescan
 

prepend-path	PATH			$topdir/bin

Cronos

#%Module1.0####################################################################
##
## module load bayescan/2.1_intel-18.0.2
##
## /share/apps/modules/bayescan/2.1_intel-18.0.2
## Written by Juan David Arcila-Moreno
##

proc ModulesHelp {} {
     global version modroot
     puts stderr "Sets the environment for using bayescan 2.1_intel-18.0.2\
		  \nin the shared directory \
		  \n/share/apps/bayescan/2.1/intel-18.0.2\
		  \nbuilded with icpc from intel-18.0.2. This application uses OpenMP"
}

module-whatis "(Name________) bayescan"
module-whatis "(Version_____) 2.1_intel-18.0.2"
module-whatis "(Compilers___) icpc - intel-18.0.2"
module-whatis "(System______) x86_64-redhat-linux"
module-whatis "(Libraries___) "

# for Tcl script use only
set         topdir        /share/apps/bayescan/2.1/intel-18.0.2
set         version       2.1_intel-18.0.2
set         sys           x86_64-redhat-linux

conflict bayescan
 

prepend-path	PATH			$topdir/bin