Software:BuildingFromSources - MdsWiki
Navigation
Personal tools

From MdsWiki

Jump to: navigation, search

Building from sources

The MDSplus source code is maintained on github. If you are interested in building MDSplus from the sources we recommend downloading a tarball, or a zip file from there.

  1. choose 'stable' or 'alpha' - ""note alpha is the active development branch and may contain untested code.""
  2. choose 'zip' or 'tar.gz'
  3. download the sources (choose one of):
    wget https://github.com/MDSplus/mdsplus/archive/alpha.zip
    wget https://github.com/MDSplus/mdsplus/archive/alpha.tar.gz
    wget https://github.com/MDSplus/mdsplus/archive/stable.zip
    wget https://github.com/MDSplus/mdsplus/archive/stable.tar.gz
  4. expand the zip or tar
  5. cd to the directory
  6. ./configure
  7. make

The MDSplus repository can also be cloned from github using:

git clone https://github.com/MDSplus/mdsplus.git

Note: Building from the head of the git repository may lead to unpredictable results. It should be safer to select a release version using the appropriate release tags.


Building MDSplus using Docker

On linux systems that support docker you have the ability to build from MDSplus sources for all the supported platforms except for MacOSX. Once you have the sources you can execute the following command to build a installer for the operating system of your choice:

$ mkdir ~/build
$ cd ~/build
$ ~/mdsplus-src-dir/deploy/build.sh --os=os-name --release

where os-name would be something like fc25 or ubuntu16 etc. The available choices can be found by doing

$ ls ~/mdsplus-src-dir/deploy/os/*.opts

This build.sh script will pull the necessary docker image from dockerhub.com to build MDSplus for that platform. The build results should be in subdirectories of the build directory and will include a full buildroot used for constructing installers and the new package installers. You do not need anything else installed on your system beside docker using this method as all the libraries, compilers etc are provided in the docker images which are used to build MDSplus.

This docker build mechanism is how the standard releases of MDSplus are created and published to mdsplus.org repositories. Each night the alpha and stable branches of MDSplus are automatically fetched by a Jenkins job and examined for updates. These jobs then trigger build jobs which use Docker to test and build MDSplus for a large variety of platforms.