Installing OpenH323 under Linux

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Created page with " First of all, you will have to download the appropriate source packages for OpenH323 and PwLib from http://www.voxgratia.org/downloads.html. Now, let’s see what steps are t...")
 
(Problems)
 
(31 intermediate revisions by one user not shown)
Line 1: Line 1:
  
First of all, you will have to download the appropriate source packages for OpenH323 and PwLib from http://www.voxgratia.org/downloads.html.
+
First of all, you will have to download the appropriate source packages for OpenH323 and PwLib from our web server at: http://yate.null.ro/tarballs/openh323/<br>
 +
 
 
Now, let’s see what steps are to be followed after unzipping the packages.
 
Now, let’s see what steps are to be followed after unzipping the packages.
  
First you’ll have to install PwLib. We’ll not get into many details here. For doing a basic installation just run ./configure with --prefix=Pwlib folder option, make opt, and make install in the main PwLib folder. For other options consult the docs or run ./configure –help.
+
===Install PwLib===
 +
 
 +
First you’ll have to install PwLib. We’ll not get into many details here. For doing a basic installation just run in the main PwLib folder.
 +
./configure with --prefix=/usr/local/pwlib
 +
make opt
 +
make install
 +
For other options run ./configure --help.
  
 
After this you’ll have to set the first from a number of three enviroment variables and namely PWLIBDIR to the install directory of PwLib.
 
After this you’ll have to set the first from a number of three enviroment variables and namely PWLIBDIR to the install directory of PwLib.
 +
 +
===Install OpenH323===
  
 
If you do not desire to install OpenH323 in your home directory then you will have to make the OPENH323DIR environment variable to point to the install directory.
 
If you do not desire to install OpenH323 in your home directory then you will have to make the OPENH323DIR environment variable to point to the install directory.
Line 13: Line 22:
 
Setting the enviroment variables is done through the command:
 
Setting the enviroment variables is done through the command:
  
export variable=value # in sh variant shells
+
export variable=value # in sh variant shells
  
 
or
 
or
  
setenv variable value # in csh oriented shells
+
setenv variable value # in csh oriented shells
  
After these you will follow the steps that you should know by now first "./configure" with "--prefix=OpenH323 folder" option and after "make opt". You may encounter problems regarding your swap partition size. If you have problems just try letting the building finish without making something else. 64 megabytes of free space and the same amount of swap should be enough. If it isn’t, you’ll have to increase the swap space.
+
After these you will follow the steps:
 +
./configure --prefix=/usr/local/openH323 --disable-ixj
 +
make opt
 +
make install
  
For installing Yate with Pwlib and OpenH323 the following options must be specified at the Yate configuration script as stated also in the Installing Yate chapter :
+
You may encounter problems regarding your swap partition size. If you have problems just try letting the building finish without making something else. 64 megabytes of free space and the same amount of swap should be enough. If it isn’t, you’ll have to increase the swap space.
  
./configure --with-pwlib=Pwlib folder
+
===Install Yate with Pwlib and OpenH323===
./configure --with-pwlib=Pwlib folder --with-openh323=OpenH323 folder
+
 
 +
For installing Yate with Pwlib and OpenH323 the following options must be specified at the Yate configuration script:
 +
 
 +
  ./configure --with-pwlib=/usr/local/pwlib --with-openh323=/usr/local/openH323
 +
 
 +
If done correctly the message will be:
 +
 
 +
checking for Pwlib in /usr/local/pwlib/... installed 1.11.0 RTTI: none
 +
checking for OpenH323 in /usr/local/openh323/... installed 1.19.0
 +
 
 +
with the correct ''version'' of Pwlib and OpenH323 libraries installed.
  
 
After doing this you’ll find an executable called simph323 in a folder dependent on the platform (e.g. ./sample/simple /obj_linux_x86_r/simph323) . This will provide you the usage help text. That should be almost all about the installation of the OpenH323 library under Linux.
 
After doing this you’ll find an executable called simph323 in a folder dependent on the platform (e.g. ./sample/simple /obj_linux_x86_r/simph323) . This will provide you the usage help text. That should be almost all about the installation of the OpenH323 library under Linux.
 +
 +
=== Problems ===
  
 
Unfortunately some problems may appear like the ones we will describe below.
 
Unfortunately some problems may appear like the ones we will describe below.
  
When running "make" you may encounter a few messages starting with „Makefile” which will state that some dependency operators are missing. The solution is simple. Just use gmake instead of make.
+
1) When running "make" you may encounter a few messages starting with „Makefile” which will state that some dependency operators are missing. The solution is simple. Just use gmake instead of make.
Another common problem is about compiling the bison.simple file which is unlikely to compile with the options provided by PwLib so some changes have to be made in the file you will usually find in /usr/lib/.
+
2) Another common problem is about compiling the bison.simple file which is unlikely to compile with the options provided by PwLib so some changes have to be made in the file you will usually find in /usr/lib/.
  
 
The code:
 
The code:
Line 50: Line 74:
  
 
This should solve your problem.
 
This should solve your problem.
 +
 +
3) When compiling OpenH323 library this error occurs:
 +
 +
In file included from ixjunix.cxx:491:
 +
/usr/openh323_v1_19_0_1/include/ixjlid.h:274:28: error: linux/compiler.h: No such file or directory
 +
make[1]: *** [/usr/openh323_v1_19_0_1/lib/obj_linux_x86_r/ixjunix.o] Error 1
 +
make[1]: Leaving directory `/usr/openh323_v1_19_0_1/src'
 +
make: *** [opt] Error 2
 +
 +
compiler.h is normally part of the kernel headers (since it's under the linux/ directory). On some platforms OpenH323 does not detect correctly that it has not all prerequisites for compiling support for their custom IXJ analog line cards.
 +
 +
On the other hand the IXJ card support is useless to almost everybody. You can disable it by reconfiguring OpenH323 before making it:
 +
  ./configure --disable-ixj
 +
 +
4) If you build a relatively new OpenH323 from sources and Yate's ./configure script cannot find it no matter what, you should check if you have libopenh323.so in the library directory (/usr/local/lib or /usr/lib or where you compile it). If you see a '''libopenh323.@SHAREDLIBEXT@'''you have to rename it to '''libopenh323.so''' and Yate (or any other program) will detect it.
 +
 +
5) When running Yate you find this:
 +
 +
<WARN> libh323_linux_x86_r.so.1.19.0: cannot open shared object file: No such file or directory
 +
 +
Find the path to the library and put it in file /etc/ld.so.conf. Then do ldconfig as root.
 +
 +
 +
'''See also'''
 +
 +
* [[Telephony#H323_Protocol|Telephony]]

Latest revision as of 15:01, 8 January 2013

First of all, you will have to download the appropriate source packages for OpenH323 and PwLib from our web server at: http://yate.null.ro/tarballs/openh323/

Now, let’s see what steps are to be followed after unzipping the packages.

Contents

[edit] Install PwLib

First you’ll have to install PwLib. We’ll not get into many details here. For doing a basic installation just run in the main PwLib folder.

./configure with --prefix=/usr/local/pwlib
make opt
make install

For other options run ./configure --help.

After this you’ll have to set the first from a number of three enviroment variables and namely PWLIBDIR to the install directory of PwLib.

[edit] Install OpenH323

If you do not desire to install OpenH323 in your home directory then you will have to make the OPENH323DIR environment variable to point to the install directory.

Another environment variable modification that you should make is to add the $OPENH323DIR/lib directory to LD_LIBRARY_PATH so you’re be able using the shared libraries.

Setting the enviroment variables is done through the command:

export variable=value # in sh variant shells

or

setenv variable value # in csh oriented shells

After these you will follow the steps:

./configure --prefix=/usr/local/openH323 --disable-ixj
make opt
make install

You may encounter problems regarding your swap partition size. If you have problems just try letting the building finish without making something else. 64 megabytes of free space and the same amount of swap should be enough. If it isn’t, you’ll have to increase the swap space.

[edit] Install Yate with Pwlib and OpenH323

For installing Yate with Pwlib and OpenH323 the following options must be specified at the Yate configuration script:

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

If done correctly the message will be:

checking for Pwlib in /usr/local/pwlib/... installed 1.11.0 RTTI: none
checking for OpenH323 in /usr/local/openh323/... installed 1.19.0

with the correct version of Pwlib and OpenH323 libraries installed.

After doing this you’ll find an executable called simph323 in a folder dependent on the platform (e.g. ./sample/simple /obj_linux_x86_r/simph323) . This will provide you the usage help text. That should be almost all about the installation of the OpenH323 library under Linux.

[edit] Problems

Unfortunately some problems may appear like the ones we will describe below.

1) When running "make" you may encounter a few messages starting with „Makefile” which will state that some dependency operators are missing. The solution is simple. Just use gmake instead of make. 2) Another common problem is about compiling the bison.simple file which is unlikely to compile with the options provided by PwLib so some changes have to be made in the file you will usually find in /usr/lib/.

The code:

/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
int yyparse (void);
#endif

should be changed to

/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
#ifndef YYPARSE_PARAM
int yyparse (void);
#endif
#endif

This should solve your problem.

3) When compiling OpenH323 library this error occurs:

In file included from ixjunix.cxx:491:
/usr/openh323_v1_19_0_1/include/ixjlid.h:274:28: error: linux/compiler.h: No such file or directory
make[1]: *** [/usr/openh323_v1_19_0_1/lib/obj_linux_x86_r/ixjunix.o] Error 1
make[1]: Leaving directory `/usr/openh323_v1_19_0_1/src'
make: *** [opt] Error 2

compiler.h is normally part of the kernel headers (since it's under the linux/ directory). On some platforms OpenH323 does not detect correctly that it has not all prerequisites for compiling support for their custom IXJ analog line cards.

On the other hand the IXJ card support is useless to almost everybody. You can disable it by reconfiguring OpenH323 before making it:

 ./configure --disable-ixj

4) If you build a relatively new OpenH323 from sources and Yate's ./configure script cannot find it no matter what, you should check if you have libopenh323.so in the library directory (/usr/local/lib or /usr/lib or where you compile it). If you see a libopenh323.@SHAREDLIBEXT@you have to rename it to libopenh323.so and Yate (or any other program) will detect it.

5) When running Yate you find this:

<WARN> libh323_linux_x86_r.so.1.19.0: cannot open shared object file: No such file or directory

Find the path to the library and put it in file /etc/ld.so.conf. Then do ldconfig as root.


See also

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers