|
Compiling the GNU Gatekeeper
I would suggest to compile GnuGk with either
OpenH323 Atlas:
OpenH323 1.18.0 for Unix and PWLib 1.10.3 for Unix
OpenH323 1.18.0 for Windows and PWLib 1.10.3 for Windows
or
H323Plus 1.20:
www.h323plus.org/source/
You also need the OpenSSL libs and the libraries for your database backend (MySQL, PostgreSQL, Firebird).
On most Unix distributions you should install the 'openssl-devel' package to have OpenSSL libraries and headers available. For Windows, install Win32 OpenSSL (not the 'Light' version) and add the lib and include path to your Visual Studio settings.
Unix
GnuGk 2.2.x on Unix can be configured with "./configure". Please type
"./configure --help" for details.
Type "make debug" or "make opt" to compile.
GCC 3.x, GCC 4.1.x and GCC 4.2.x work fine for compiling GnuGk. (GCC 2.95.x is too old.)
Windows
On Windows just build the included Visual Studio .NET (Visual C++ 7.0) project gk.sln or the Visual C++ 2005 Express project gk_2005.sln or the Visual Studio 2008 Express project gk_2008.sln.
Visual C++ 6.0 and 5.0 are no longer supported.
The auto-config (./configure) feature is currently not available on Windows and the config options are set with HAS_xxx defines in the project file.
"Known Good" Combinations
The GNU Gatekeeper depends on the OpenH323 library along with the underlying PWLib and some other libraries. Some combinations produce strange results, so here are a few notes about known issues and known good combinations.
| GnuGk | OpenH323 | PWLib | Other |
| 2.2.7 | OpenH323 1.18.0 | 1.10.3 | |
| 2.2.7 | H323Plus 1.20.2 | 2.0.1 | ignore warnings about missing version, fixed in 2.0.1-4 |
| 2.2.7 | H323Plus 1.19.6 | 1.12.0 | |
| 2.2.6 | OpenH323 1.18.0 | 1.10.3 | |
| 2.2.6 | OpenH323 1.18.0 | 1.10.0 | |
| 2.2.5 | OpenH323 1.18.0 | 1.10.0 | |
| 2.2.4 | OpenH323 1.18.0 | 1.10.0 | |
| 2.2.4 | OpenH323 1.15.6 | 1.8.7 | |
| 2.2.3 | OpenH323 1.15.6 | 1.8.7 | |
| 2.2.3 | OpenH323 1.14.4.2 | 1.7.5.2 | OpenSSL 0.9.7b |
| 2.2.2 | OpenH323 1.17.2 | 1.9.1 | |
| 2.2.2 | OpenH323 1.15.2 | 1.8.3 | |
| 2.2.2 | OpenH323 1.14.4.2 | 1.7.5.2 | OpenSSL 0.9.7b |
| 2.2.1 | OpenH323 1.15.3 | 1.8.4 | MacOS X |
| 2.2.1 | OpenH323 1.14.4.2 | 1.7.5.2 | OpenSSL 0.9.7b |
| 2.0.9 | OpenH323 1.15.0 | 1.8.0 | OpenSSL 0.9.7a |
Troubleshooting
Please submit more notes.
| OS | GnuGk Version | OpenH323 / PWLib | Note |
| All | 2.2.7 | H323Plus/PTLib 2.0.1 | gives compile warning "Can't detect PWLib/PTLib version", which can be ignored for this version of PTLib, or use OpenH323 Atlas |
| Unix | All | OpenH323 Atlas (1.18.0) | gives a few compile warnings with gcc 4.2.x that can be ignored |
| All | All | All | do not configure PWLib with --enable-openh323; GnuGk needs some features not used by OpenH323 |
| Unix | 2.2.3 | All | must use gcc <= 4.0.2 to compile; gcc 4.0.3 doesn't work, fixed for GnuGk 2.2.4 |
| All | >= 2.2.3 | PWLib 1.8.x | use at least PWLib 1.8.0 for full ENUM support |
| Windows | >= 2.2.3 | All | must use Visual Studio .NET to compile, won't compile with Visual C++ 6 |
| Unix | 2.2.x | All | must use gcc >= 3.3.x to compile |
| FreeBSD 5.3, 5.4 | 2.2.x | PWLib 1.8.3, OpenH323 1.15.2 |
modify source to include stdlib.h:
for i in `find openh323/ -name "*.c" -or -name "*.cxx" | grep plugin`; \
do echo $i; cat $i | sed 's/<malloc.h>/<stdlib.h>/' > $i.tmp ; \
mv $i.tmp $i; done
|
| All | 2.0.9 | PWLib < 1.6.x | GnuGk needs at least PWLib 1.6.x to work correctly |
| Unix | All | PWLib >= 1.7.x | add LDFLAGS += -static to the PWLib Makefile to get a fully static executable |
| Unix | 2.0.x | PWLib 1.6.x | you must compile PWLib with 'configure --enable-rtti' |
| All | 2.2 beta 4 | OpenH323 1.13.x | compiling GnuGk with LARGE_FDSET seems to burn less CPU in proxy mode |
|