Build from source on GNU/Linux

1. Auto build script

Author: vol4enok

Download script

Script downloads sources of OpenMCU-ru, all necessary components and builds it all. Ability to uninstall.

Building and installation of all components (server and libraries) by default with prefix »/opt/openmcu-ru».

This script is tested on distributions:

Probably will work on «neighboring» versions of these distributions.

You must be root to run this script.
To download the sources (commands «install» and «download») Internet connections is necessary.
Some build settings can be changed in the file «openmcu-oci.ini».

Script usage:

./openmcu-oci {install|download|build|package|uninstall}

install   - make all steps to build and install.
            (install = download + build + package)
download  - Only download the sources.
            The sources are downloaded to the directory "./src",
            the contents of this folder will not be changed later.
            It is possible to download the sources once, and then execute "build" command,
            changing the build options or applying various patches to the sources.
build     - build and install the specified version.
            For the build process script create a copy of the directory "./src"
            named "./build".
package   - build a DEB/RPM package.
            Building the package is not required to run OpenMCU-ru.
            Even if the package did not build - you can still run
            built version. Build the package is an optional step.
            Built package can be installed on another machine with the same
            distribution of Linux.
uninstall - Remove installed version.

After build and install, you can run OpenMCU-ru (from »/opt/openmcu-ru/bin»):
the command «openmcu-ru(-wrapper) -x» to run in console mode
the command «openmcu-ru(-wrapper) -d» to run in daemon mode

2. Manual build

Dependencies list

OpenMCU-ru already contains PTLib and H323Plus libraries forked from:

These libraries are not required for build.

Required dependencies:

Optional dependencies (will be used if they are available in the system):

Install dependencies

Dependencies can be installed from distribution repository (if present) or can be build manually.

In Debian/Ubuntu all required build dependencies (except libyuv) can be installed using the following command:

apt-get install \
  build-essential flex bison autoconf automake pkg-config \
  libfreetype6-dev libjpeg62-dev libsofia-sip-ua-dev \
  libvpx-dev libx264-dev libav-tools libavcodec-dev libavutil-dev libsamplerate0-dev libopus-dev

Command for installing required build dependencies in Fedora:

yum install \
  kernel-devel gcc gcc-c++ make patch perl-Digest-MD5 flex bison autoconf automake pkgconfig \
  freetype-devel libjpeg-turbo-devel sofia-sip-devel \
  libyuv-devel libvpx-devel x264-devel ffmpeg ffmpeg-devel opus-devel

Build OpenMCU-ru

Download:

git clone git://github.com/muggot/openmcu.git ./openmcu-ru
cd ./openmcu-ru

Switch to the desired branch:

git branch -r
git checkout 3.48

Build:

./autogen.sh
./configure
make
make install

Run OpenMCU-ru

After build and install, you can run OpenMCU-ru:
the command «openmcu-ru -x» to run in console mode
the command «openmcu-ru -d» to run in daemon mode

See also