Installing OpenH323 under Linux

From Yate Documentation
Jump to: navigation, search

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

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.

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.

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.

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