Installing OpenH323 under Linux
(→Install Yate with Pwlib and OpenH323) |
(→Problems) |
||
(13 intermediate revisions by one user not shown) | |||
Line 6: | Line 6: | ||
===Install PwLib=== | ===Install PwLib=== | ||
− | 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= | + | 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. | ||
Line 25: | Line 29: | ||
After these you will follow the steps: | After these you will follow the steps: | ||
− | ./configure --prefix= | + | ./configure --prefix=/usr/local/openH323 --disable-ixj |
make opt | make opt | ||
make install | make install | ||
Line 35: | Line 39: | ||
For installing Yate with Pwlib and OpenH323 the following options must be specified at the Yate configuration script: | For installing Yate with Pwlib and OpenH323 the following options must be specified at the Yate configuration script: | ||
− | ./configure --with-pwlib= | + | ./configure --with-pwlib=/usr/local/pwlib --with-openh323=/usr/local/openH323 |
If done correctly the message will be: | If done correctly the message will be: | ||
− | checking for Pwlib in /usr/local/... installed | + | checking for Pwlib in /usr/local/pwlib/... installed 1.11.0 RTTI: none |
− | checking for OpenH323 in /usr/local/... installed | + | 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. | ||
Line 50: | Line 54: | ||
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 70: | 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. | ||
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