GNU Gatekeeper Logo

Home
· Download
· Support
· Success Stories
· Imprint

Documentation
· English Manual
· French Manual
· Spanish Manual
· Persian Manual
· Portuguese Manual
· Chinese Manual
· FAQ
· Interoperability
· Intro to H.323
· Usage Examples
· Configuration Notes
· GnuGk and SIP

Tools & Addons
· Java GUI
· ISDN Gateway
· CTI / ACD
· GnuGk Addons
· Endpoints
· Gateways
· MCUs
· IVRs
· Billing
· Commercial Addons

Development
• Compiling
· Development
· NAT Traversal
· Tools
· Authors

Misc
· Events
· Logos
· Recommended Books
· Site Map

Compiling the GNU Gatekeeper

I would suggest you use version 2.10.1 of PTLib and H323Plus to compile GnuGk. Only on operating systems where 2.10.1 doesn't work properly (eg. BSD), you should use PTLib 2.11.x from SVN.

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.

To include ssh support for the status port, you need libssh.

Unix

Configure and compile PTLib and H323Plus first.

GnuGk can be configured with "./configure" on Unix. Please type "./configure --help" for details.

Type "make debug", "make opt" or "make optnoshared" to compile (use the same command you used with PTLib and h323Plus). Then copy the resulting executable to a bin/ directory.

GCC 3.x to 4.6.x work fine for compiling GnuGk. (GCC 2.95.x is too old.) clang++ 3.0 also works.

There is an example how to compile GnuGk from CVS on Ubuntu.

Windows

On Windows just build the included Visual Studio project file. Visual Studio 2010, 2008, 2005 and .NET should all work; using the Express versions is enough to compile GnuGk. I'm using Visual Studio 2008 Express. Visual C++ 6.0 and 5.0 are no longer supported. Make sure you have compiled PTLib and H323Plus prior to GnuGk.

When you build the project, the auto-config (./configure) feature will automatically detect the database libraries installed on your system and configure the appropriate drivers.

"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.

GnuGkOpenH323PWLibNotes
3.0H323Plus 1.24.0PTLib 2.10.1 (with PDNS patch)libssh 0.5.2
3.0H323Plus 1.24.0PTLib 2.11.1 SVNon BSD
3.0H323Plus 1.23.1PTLib 2.10.1 (with PDNS patch)libssh 0.5.2
3.0H323Plus 1.23.1PTLib 2.11.1 SVNon BSD
2.3.5H323Plus 1.23.0PTLib 2.10.1libssh 0.5.1
2.3.5H323Plus 1.22.0PTLib 2.8.4libssh 0.5.0
2.3.5H323Plus 1.22.0PTLib 2.8.3libssh 0.5.0
2.3.4H323Plus 1.22.0PTLib 2.8.4 
2.3.4H323Plus 1.22.0PTLib 2.8.3 
2.3.4H323Plus 1.22.0PTLib 2.8.2 
2.3.4H323Plus CVS as of 2010-10-27PTLib 2.8.2 
2.3.3H323Plus CVS as of 2010-10-27PTLib 2.8.1 
2.3.3H323Plus CVS as of 2010-10-27PTLib 2.8.2 
2.3.3H323Plus CVS as of 2010-10-27PTLib 2.8.1 
2.3.3H323Plus CVS as of 2010-10-27PTLib SVN as of 2010-10-27 (2.9.0) 
2.3.2H323Plus CVS as of 2010-05-25PTLib 2.8.1 
2.3.2H323Plus CVS as of 2010-05-25PTLib SVN as of 2010-05-07 
2.3.1H323Plus CVS as of 2009-11-16PTLib SVN as of 2009-11-16 
2.3.1H323Plus 1.21.02.4.5see note on MD5 tokens
2.3.0H323Plus 1.21.02.4.5 
2.3.0H323Plus 1.20.22.0.1use patch for Unix Makefile
2.3.0OpenH323 1.18.01.10.3no H.460.18/.19 support, won't compile on MacOS X
2.2.8OpenH323 1.18.01.10.3 

Troubleshooting

Please submit more notes.

OSGnuGk VersionOpenH323 / PWLibNote
3.0AllH323Plus 1.24.1use --disable-h235 --disable-h460p
3.0AllH323Plus 1.23.1 / 1.24.0use --disable-h235
AllAllPTLib 2.11.0PTLib must be compiled with --disable-deprecated and --disable-trace-instance (this is still not a recommended library to use with GnuGk!)
AllAllPTLib 2.10.2 and 2.10.3these PTLib versions cause a crash on GnuGk shutdown while deleting internal PTLib objects, stay with 2.10.1
LinuxAllPTLib 2.8.3ignore compile error with 'make optnoshared', its irelevant for GnuGk and already fixed for the following versions
MacOS XAllPTLib 2.6.x - 2.8.xdon't work on MacOS X, executables crash on startup, fixed in 2.11.0
BSDAllPTLib 2.7.x - 2.8.xdon't work on FreeBSD and NetBSD, executables crash on startup, PTLib 2.10.1 works
AllAllPTLib 2.2.x - 2.6.7won't produce compatible MD5 hashes in crypto tokens, fixed in the combination of H323Plus 1.22 and PTLib 2.7.1
AllAllPTLib 2.3.x - 2.5.2will cause GnuGk to hang on startup - bug in PIPSocket::GetRouteTable(), fixed in 2.4.5
All2.2.7H323Plus/PTLib 2.0.1gives compile warning "Can't detect PWLib/PTLib version", which can be ignored for this version of PTLib, or use OpenH323 Atlas
UnixAllOpenH323 Atlas (1.18.0)gives a few compile warnings with gcc 4.2.x that can be ignored, use patch provides in /docs/pwlib_bugs.txt
AllAllAlldo not configure PWLib with --enable-openh323; GnuGk needs some features not used by OpenH323



Last updated: 04. Mai 2012
Page maintained by Jan Willamowius