November 19, 2020

OpenBSD: GW-related software

Installation of LAL from git on -current

# –> stands for the root prompt
$ –> stands for the user prompt

Install software

You will need gmake, gcc, hdf5, gsl etc but you find all of these on pkg_add. I only mention here software not trivial to install or obsolete.

Install the frame library

$ cd /tmp
$ wget
$ tar xvfz libframe-8.30.tar.gz
$ cd /tmp/libframe-8.30
$ ./configure
$ gmake
# gmake install

Install metaio

$ cd /tmp
$ wget
$ tar xvfz metaio-8.4.0.tar.gz
$ cd metaio-8.4.0
$ ./configure
$ gmake
# gmake install

Clone the repo

$ cd /your/fav/path/
$ git clone

Update automake and autoconf

(automake 1.16 is buggy and prior versions will give trouble)

$ cd /tmp
$ wget
$ tar xvfz automake-1.16.1.tar.gz
$ cd automake-1.16.1
$ ./configure
$ gmake
# gmake install
$ cd /tmp
$ wget
$ tar xvfz autoconf-2.69.tar.gz
$ cd autoconf-2.69
$ ./configure
$ gmake
# gmake install

Run boot and configure it

$ cd /your/fav/path/lalsuite

You need to declare the version of autoconf and automake before running 00boot:

$ export AUTOCONF_VERSION=2.69
$ export AUTOMAKE_VERSION=1.16.1
$ ./00boot

After this, you need to disable the includes of alloca.h in


which isn’t really needed as stdlib.h includes this header if appropriate. And
on OpenBSD is seems that this isn’t appropriate:

$ sed -i '/\#include /d' ./lalsimulation/src/*.c
$ sed -i '/\#include /d' ./lalinference/src/*.c

Note the --disable-gcc-flags when you configure it.

$ ./configure --prefix=/your/fav/path/lal --disable-gcc-flags

Make it and install it

$ gmake
$ gmake install

Add path to your zshrc

. /your/fav/path/lal/etc/

Installation of jupyter and pycbc on -current

After the installation of lalsuite, this is as easy as running

$ pip install pycbc jupyter --user

(as of now, with python 2.7 … we’ll see with 3x)

After that, do not forget to add ~/.local/bin to your path.

To launch jupyter:

jupyter-notebook --browser="chrome"


Clone the suite wherever you want to have it

$ mkdir /home/pau/path/to/
$ cd /home/pau/path/to/
$ git clone

Fetch gsl and install it locally under the EMRI_Kludge_Suite directory

$ wget -c
$ tar xvfz gsl-latest.tar.gz -C /tmp
$ export GSLROOT=/home/pau/path/to/EMRI_Kludge_Suite/gsl
$ cd /tmp/gsl-*
$ ./configure --prefix=${GSLROOT} --disable-shared
$ gmake
$ gmake install

Same with fftw

Check the webpage for updates. I’m using here 3.3.8 as an example. Unfortunately they do not have a “latest” link.

$ wget -c
$ tar xvfz fftw-3.3.8.tar.gz -C /tmp
$ cd /tmp/fftw-*
$ mkdir /home/pau/path/to/EMRI_Kludge_Suite/fftw
$ ./configure --prefix=/home/pau/path/to/EMRI_Kludge_Suite/fftw
$ gmake
$ gmake install

Install the suite

Modify Makefile to have GSL_ and FFTW_ lib and include like this:

GSL_LIB = ./gsl/lib
GSL_INCLUDE = ./gsl/include

FFTW_INCLUDE = ./fftw/include
FFTW_LIB = ./fftw/lib

Build it

$ cd /home/pau/path/to/EMRI_Kludge_Suite/
$ gmake clean
$ gmake

matplotlib and seaborn

Fetch the latest version of pip:

# wget
# python3.6

Note that we require it to be python3.X

This will install pip3.X. After that, it is a matter of running

$ pip3.6 install numpy --user
$ pip3.6 install matplotlib --user
$ pip3.6 install seaborn--user

to install them locally as a normal user in $HOME/.local

To make sure that pip can install scipy (as required by seaborn), make sure your system is using gfortran and not g77:

# pkg_delete g77
# pkg_add g95