Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save justincbagley/bb1155da92f8cfbf00723dcfb56f6dd9 to your computer and use it in GitHub Desktop.
Save justincbagley/bb1155da92f8cfbf00723dcfb56f6dd9 to your computer and use it in GitHub Desktop.

How I Installed BEAGLE Library On Linux

Justin C. Bagley, September 11, 2017, Richmond, VA, USA

Preliminaries

I've previously written blog posts on my website (www.justinbagley.org) about setting up Mac and Windows computers for running BEAST (Bayesian Evolutionary Analysis Sampling Trees) here and here, and those posts touched on installing BEAGLE. This Gist provides some notes on how I recently installed the BEAGLE API/library for scientific computing on a Linux supercomputer.

In all code examples that follow, "$" is the UNIX/Linux prompt; this was not typed and shouldn't be typed if following along with this Gist. Lines that do not start with the prompt are output to screen and likewise also should not be typed as input. The pound sign comments out the remainder of a line, allowing for notes that do not interfere with the code.

For this Gist, I was working with the "godel" supercomputer at Virginia Commonwealth University's CHiPC (Center for High Performance Computing) facility. The current version of Linux on this supercomputer has the following characteristics:

$ ###### System information:
$ godel
$ uname -r	## Name of the kernel release?
2.6.18-238.12.1.el5
$ uname -i	## Do we have 64-bit Linux? Yes
x86_64
$ uname -a 	## Get all of the info at once with -a flag
Linux godel1 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:22:04 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

STEP #1 - DOWNLOAD

The first step is to download BEAGLE from GitHub. I downloaded the source code for beagle-lib locally onto my MacBook Pro, by going to the command line and typing:

$ cd ~
$ git clone --depth=1 https://github.com/beagle-dev/beagle-lib.git

You can manually retrieve the hyperlink for using git to clone a repository to your local machine by going to the GitHub repository page and clicking the green button at the upper right that says "Clone or download" (see screenshot below).

I then transferred the beagle-lib distribution folder saved to my computer to my $HOME/local/lib directory on the supercomputer. I chose to do this via SFTP (using my favorite browser, Cyberduck; download it for Mac OSX here); however, I also could have easily used scp to do this.

STEP #2 - DEPENDENCIES

The next step is to check dependencies on the supercomputer, making sure that they are present and updated. Like most users, I don't have admin privileges on the supercomputer, so I couldn't use apt-get to simply install all of the dependencies in a bash one-liner. I also couldn't use sudo conda install to do this. So, I checked things by hand by typing in the names of the dependencies or using locateto find them. I attempted to install or update any remaining packages for my user account using conda install <package> or conda update <package>, respectively. All dependencies were present (and as far as I could tell, also up to date) after finishing this process.

STEP #3 - INSTALLATION

To install BEAGLE on the supercomputer, I basically followed Suchard's instructions for Linux installs, given here. More specifically, on the supercomputer, my installation steps involved (1) loading correct java path, (2) changing to the appropriate directory, (3) reading "INSTALL" file for directions, (4) giving autogen.sh appropriate permissions, and (5) doing a regular Linux install while setting a user-oriented prefix (--prefix=$HOME/lib). I conducted the install as follows:

JAVA_HOME="$JHOME"		# (1)

cd $HOME/local/lib/beagle-lib	# (2)
cat INSTALL			# (3)

chmod u+x ./*.sh		# (4)
./autogen.sh			# (5)
./configure --prefix=$HOME/lib
make
make check
make install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment