easyRNG  1.2
BSD licensed random number generators for C and Fortran
Installation instructions

Requirements

easyRNG can only be installed provided the following dependencies are present on your system:

  • A C++ compiler with full support of the C++11 standard. Compilers known to do the job are recent versions of GCC and clang.
  • A C compiler (for running make check).
  • Optional: a Fortran compiler with support of the 2003 standard. If not found then the Fortran bindings will not be built.
  • Optional: GNU Scientific library. When present a test will be run benchmarking easyRNG's C API against GSL.
  • Optional: Fortran bindings to the GNU Scientific library (FGSL). When present a test will be run benchmarking easyRNG's Fortran API against FGSL.

Downloading the software

The source code release tarballs are hosted on the Github repository, in the releases section. Just get the latest tarball and run the following commands:

  tar xfvz easyRNG-x.y.tar.gz
  cd easyRNG-x.y
  ./configure
  make
  make check
  make install

Alternatively, you can also use Meson and Ninja to install easyRNG:

  tar xfvz easyRNG-x.y.tar.gz
  cd easyRNG-x.y
  mkdir build
  cd build
  meson ..
  ninja
  ninja test
  ninja install

This procedures are known to work on Linux, Mac OS X and Windows (using msys2)

Homebrew


Homebrew users can install easyRNG via my tap:

brew install tschoonj/tap/easyrng

Linux

Fedora, Centos and Scientific Linux

To facilitate the installation on RPM based Linux distributions, the package includes a spec file which can be used to produce RPM packages for linux distributions that support them (Fedora, Red Hat etc). The developers have built 64-bit RPM packages of easyRNG for the officially supported Fedora and Redhat EL/CentOS/Scientific Linux 7 and 8 distributions. These can be downloaded from the RPM repository that is hosted by the X-ray Microspectroscopy and Imaging research group of Ghent University. Access to this repository can be obtained as follows for Fedora distros:

sudo rpm -Uvh http://lvserver.ugent.be/yum/xmi-repo-key-fedora.noarch.rpm

for Red Hat EL 7 based distributions:

sudo rpm -Uvh http://lvserver.ugent.be/yum/xmi-repo-key-7.0-1.el7.noarch.rpm

and for Red Hat EL 8 based distributions:

sudo rpm -Uvh http://lvserver.ugent.be/yum/xmi-repo-key-8.0-1.el8.noarch.rpm

The easyRNG packages themselves can then be downloaded using yum (or dnf which is increasingly being used nowadays):

sudo yum install easyRNG easyRNG-devel easyRNG-doc

Updates can be installed in a similar way:

sudo yum update easyRNG easyRNG-devel easyRNG-doc

Debian and Ubuntu

Packages were created for the currently officially supported Debian and Ubuntu distributions.. In order to access these packages using your favorite package manager, execute the following command to import my public key:

curl http://xmi-apt.tomschoonjans.eu/xmi.packages.key | sudo apt-key add -

Next, add the package download location corresponding to your distribution to the /etc/apt/sources.list file (as root):

Debian Buster:

  deb http://xmi-apt.tomschoonjans.eu/debian buster stable
  deb-src http://xmi-apt.tomschoonjans.eu/debian buster stable

Ubuntu Bionic 18.04:

  deb [arch=amd64] http://xmi-apt.tomschoonjans.eu/ubuntu bionic stable
  deb-src http://xmi-apt.tomschoonjans.eu/ubuntu bionic stable

Ubuntu Eoan 19.10:

  deb [arch=amd64] http://xmi-apt.tomschoonjans.eu/ubuntu eoan stable
  deb-src http://xmi-apt.tomschoonjans.eu/ubuntu eoan stable

Ubuntu Focal 20.04:

  deb [arch=amd64] http://xmi-apt.tomschoonjans.eu/ubuntu focal stable
  deb-src http://xmi-apt.tomschoonjans.eu/ubuntu focal stable

When the sources.list file contains the correct download locations, update the apt cache by running:

sudo apt-get update

After this, one can install easyRNG by executing the following command:

sudo apt-get install libeasyrng libeasyrng-dev libeasyrng-doc

Github repository

People interested in running the latest development version will have to clone the Github repository.
Make sure you have the above mentioned dependencies installed, as well as the GNU autotools (autoconf, automake and libtool).

 git clone git@github.com:tschoonj/easyRNG.git                                                             
 cd easyRNG
 autoreconf -i
 ./configure
 make
 make check
 make install