Home

Resources

Products

Developers

Main • CompilingAndInstalling

Resources -> Documentation -> Compiling and Installing

Quick start

./configure --prefix=PREFIX

make

./run -vvvvvv

or for running yate in daemon mode:

./run -d

or

make install
yate -d

To run yate outside your build dir you need to set LD_LIBRARY_PATH so yate can find libyate.so

echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig

Please notice that sometimes some modules don't compile so you have to use "make -k" to continue compiling even if you have errors.

"make install" may fail because of missing kdoc or doxygen. Kdoc or doxygen is necessary just for documentation so you may skip that, but you must use "make install-noapi" instead of "make install"

Note: If you are installing Yate from SVN please run ./autogen to generate the "./configure" file.

Requirements

The Yate occupies approximately 3 MB of disk space including sources, documentation and compiled in code (the exact required disk space depends on the amount of compiled in third party modules also).

ANSI-C Compiler:

Make sure you have an ANSI-C compiler installed. The GNU C compiler (GCC) from the Free Software Foundation (FSF) is recommended (version 2.95.3 is known to be fine, also versions 3.3.x and 3.4.x should work; version 4.x.x is known to give out more warnings and generates more optimized code). If you don't have GCC then make sure your vendors compiler is at least ANSI compliant. You can find GCC at http://gcc.gnu.org/ and the binary GCC distributions at http://gcc.gnu.org/install/binaries.html page.

Dynamic loader support

To provide dynamic loading system for modules Yate uses pragmatic dlopen()/dlsym() system calls. These system calls are not available under all operating systems therefore you cannot use and, or run Yate on all such platforms which don't provide the said system calls.

Configuring the source tree

For a complete list of the available options, type the following command:

./configure --help

(if you are using yate cvs version, the first time you have to first create configure by running autogen.sh).
IMPORTANT: Some modules of Yate need different libraries that normally will be correctly detected, but in some cases it's better to specify the library's directory. For many libraries Yate will only detect them if they are installed in the distribution's default location.

Example:
Suppose you compiled and installed PWlib and OpenH323 yourself (a quite common case). Using the default configuration the libraries and header files will get installed under the /usr/local directory instead of /usr. In this case you will need to configure as follows:

./configure --with-pwlib=/usr/local --with-openh323=/usr/local

To be able to run Yate properly you may also need to have listed /usr/local/lib in the /etc/ld.so.conf file - see the Quick Start above on how to do it.

Building Yate

You have just to run make in the main directory.

Building the test modules.

Run make test in the main directory or make in the test directory.

After you have create the test modules use mktestlinks in the modules directory to make links from test modules into modules directory.

Building the classes API documentation

Run make apidocs in the main directory. You will need to have kdoc installed.

Alternatively you can just make everything in the main directory which will build them all.


For Debian you may use this tutorial.

 
apt-get install build-essential
 

which installs:

 
binutils, cpp, dpkg-dev, g++, gcc, libc6-dev, libstdc++5-dev, 
linux-kernel-headers, make, patch, perl and perl-modules etc.
 

and depending upon your Debian version

 
cpp-3.x, gcc-3.x, g++-3.x
 

or

 
cpp-4.x, gcc-4.x, g++-4.x

apt-get install autoconf cvs sox
apt-get install kdoc 
 

Install the following also if you intend to use Yate as a VoIP client with Gtk interface.

 
apt-get install libgtk1.2-dev
 

and yes, you might want to get the latest Yate sources too:

 
cvs -d :pserver:anonymous@voip.null.ro:/home/cvsroot/private login
cvs -d :pserver:anonymous@voip.null.ro:/home/cvsroot/private checkout yate
 

And then make install stops before it is done installing the rest of the binaries.

 
./configure #should deal with this.
 

Size just after configure has done it's work:

 
kmant@dracula:~/yate> du -sh ../yate
4.3M    yate
 

3 May 2010:
Yate 3.0.0 alpha 3 released. Featuring the new Jabber server and wideband audio.
Download NOW

8 March 2010:
Yate 2.2 released. Mostly bug fixes. Dahdi compatible. Latest 2 release before 3.0.

6-7 February 2010:
Yate booth at FOSDEM 2010. Free CD with Freesentral available.

2 Nov 2009:
Yate 2.1 launched. Can replace a Cisco PGW2200 to control a Cisco AS54xx.

6 Aug 2008:
Yate and OpenSIPS (former OpenSER) join to build IP based clusters.

4 Aug 2008:
Yate 2 launched.

10 Jul 2008:
Yate presentation in Germany.

Feb 2008:
Yate 2.0.0 alpha 2 released. New routing module allows sending ENUM routed or forked calls to numbers of registered phones. More...

21 Jan 2008:
Yate 2 alpha released. Major changes, new ISDN, SS7 and MGCP stack. Added analogic and RBS support.

3 September:
Yate 1.3 released. Minor fixes and improvments mainly in client and SIP.

14 August:
Yate based ISDN passive recording system released by Trisys.

16 April:
Yate 1.2 released. Added Jingle and XML support, PBX improved.

25 September:
YateAdmin 1 released.

25 September:
Yate 1.1 released. Fallback routing from a database, fax support in Linux and bug fixes. Changelog and Download availables.

11 July 2006:
O'Reilly published an article about prototyping telephony applications with Yate and Python.

10 July 2006:
Yate 1 released. Includes YIAX, YSIP, YRTP and many new features.

June 1st 2006:
New Yate website launched


EditHistoryBacklinksRecent ChangesSearch