Compiling and Installing Yate from SVN on FreeBSD

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Prerequisites)
(Prerequisites)
Line 16: Line 16:
 
  cd /usr/ports/devel/autoconf
 
  cd /usr/ports/devel/autoconf
 
  make install clean
 
  make install clean
 +
 +
====Prerequisites libraries====
  
 
* Development libraries for all optional [[modules]] in Yate you want to compile like:
 
* Development libraries for all optional [[modules]] in Yate you want to compile like:
:*If you want to register users in a database you need libraries like [http://www.mysql.com/ MySQL] or [http://www.postgresql.org/ PostgreSQL].
+
 
:*[[H323 channel module]] - VoIP H.323 driver requires the [http://docs.yate.ro/wiki/OpenH323 OpenH323] library.
+
:*If you want to register users in a database you need libraries like:
:*[[Fax Transfer Module]] - this module can transmit or receive a fax, is based on [http://soft-switch.org/ spandsp].
+
::* [http://www.mysql.com/ MySQL] library - used by [[MySQL| MySQL Module]].
 +
::* [http://www.postgresql.org/ PostgreSQL] - used by [[PostgreSQL| PostgreSQL Module]].
 +
:* [http://docs.yate.ro/wiki/OpenH323 OpenH323] Library - used by [[H323 channel module]].
 +
:* [http://soft-switch.org/ spandsp] used by [[Fax Transfer Module]] - to transmit or receive a fax
 
: Read more about them and others in [[modules]] page.
 
: Read more about them and others in [[modules]] page.
  

Revision as of 15:53, 18 December 2012

Follow the steps bellow to install and compile the latest version of Yate from SVN source on FreeBSD9.

Contents

Prerequisites

For fetching and building Yate from SVN you will need the following:

  • A subversion(svn) client to fetch Yate from SVN source.
pKg_add -r subversion
  • Basic software development tools:
  • The autoconf configuration script builder. After fetching Yate you will have to run autogen.sh to generate the configure file, but if autoconf is missing, an error will be given:
Please install Gnu autoconf to build from CVS.
cd /usr/ports/devel/autoconf
make install clean

Prerequisites libraries

  • Development libraries for all optional modules in Yate you want to compile like:
  • If you want to register users in a database you need libraries like:
Read more about them and others in modules page.

Get the sources

Once you have the svn client installed getting the sources is a simple command:

cd /usr/src
svn checkout http://voip.null.ro/svn/yate/trunk yate
cd yate

This will fetch a copy of the SVN TRUNK in a new directory called yate.

Prepare and configure the sources

Run autogen.sh script to generate the configure file.

./autogen.sh
Finished! Now run configure. If in doubt run ./configure --help

This script will warn if autoconf is missing and will prepare a configure script for you if everything is OK.

You can now run the configure script:

./configure --without-fdsize --with-libpq=/usr/local
checking for local operating system type... FreeBSD
checking for libraries directory name... lib
checking for g++... g++
...

Use --without-fdsize so that the verification if a handler in Yate is selectable, to not fail for FreeBSD.
If you wish to keep your users in PostgreSQL database use --with-libpq to give the path for the library because the default is /usr for other Linux systems.
You can give command ./configure --help to see how you can use it and the descriptions of some of the useful variables.

Look at the configure output and check that all features you need are detected. If not, install what is missing.

Compile the sources

Use make command:

 gmake LDFLAGS=-L/usr/local/lib && gmake install
 gmake -C ./engine all
 gmake[1]: Entering directory `/usr/src/yate/engine'
 ........

Use LDFLAGS to set linker flags, if you have libraries in a nonstandard directory.

Starting Yate

Check version of Yate:

./run -V
Yate 4.2.1 alpha1

Start Yate:

./run -vvvvv -CDo
...
Yate engine is initialized and starting up on freeBSD
...

Next step will be to learn more about configuration files and the modules and routing to configure Yate for your needs.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers