Compiling the GNU Gatekeeper

I would suggest you use our patched version 2.10.9 of PTLib and the latest H323Plus to compile GnuGk. Only on operating systems where 2.10.9 doesn't work properly (eg. BSD), you should use the PTLib 2.11.0 from SVN (not 2.11.1 or newer!).

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, at least version 0.5.0. Make sure you use the latest version to get all security fixes.

Linux / Unix

Configure and compile PTLib and H323Plus first.

GnuGk can be configured with "./configure" on Unix. Please type "./configure --help" for details.
Please remember to do a "make clean" after each new "./configure".

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 4.x to 15.0.x works fine for compiling GnuGk (caution: GCC 14.0.1 runs into an internal compiler error!)
  • Clang++ 3.x to 20.x works fine
  • Intel's C++ Compiler 16.x works fine

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

Windows

On Windows just build the included Visual Studio project file. Visual Studio 2022, 2017, 2015, 2013, 2010, 2008, 2005 and .NET should all work. Using the Community or Express versions is enough to compile GnuGk. Visual C++ 6.0 and 5.0 are no longer supported. Make sure you have compiled PTLib and H323Plus prior to compiling 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" Library Combinations

The GNU Gatekeeper depends on the H323Plus library along with the underlying PTLib and some other libraries. Some combinations produce strange results, so here are a few notes about known issues and known good combinations.

GnuGkH323PlusPTLibNotes
5.13H323Plus 1.28.0PTLib 2.10.9.6OpenSSL 1.0.2, OpenSSL 1.1.x or OpenSSL 3.0.x
5.12H323Plus 1.28.0PTLib 2.10.9.6OpenSSL 1.0.2, OpenSSL 1.1.x or OpenSSL 3.0.x
5.11H323Plus 1.27.2PTLib 2.10.9.5OpenSSL 1.0.2, OpenSSL 1.1.x or OpenSSL 3.0.x
5.10H323Plus 1.27.2PTLib 2.10.9.5OpenSSL 1.0.2 or OpenSSL 1.1.x
5.10H323Plus 1.27.2PTLib 2.10.9.4OpenSSL 1.0.2 or OpenSSL 1.1.x
5.9H323Plus 1.27.2PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.8H323Plus 1.27.2PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.7H323Plus 1.27.2PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.6H323Plus 1.27.1PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.5H323Plus 1.27.1PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.4H323Plus 1.27.1PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.3H323Plus 1.27.1PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.3H323Plus 1.27.0PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.2H323Plus 1.27.0PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.1H323Plus 1.27.0PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
5.0H323Plus 1.27.0PTLib 2.10.9 (patched)OpenSSL 1.0.2 or OpenSSL 1.1.x
4.9H323Plus 1.26.9PTLib 2.10.9 (patched)OpenSSL 1.0.2
4.8H323Plus 1.26.9PTLib 2.10.9 (patched)OpenSSL 1.0.2
4.7H323Plus 1.26.8PTLib 2.10.9 (patched)OpenSSL 1.0.2
4.6H323Plus 1.26.8PTLib 2.10.9 (patched)OpenSSL 1.0.2
4.5H323Plus 1.26.8PTLib 2.10.9 (patched)OpenSSL 1.0.2
4.4H323Plus 1.26.8PTLib 2.10.9 (patched) 
4.3H323Plus 1.26.7PTLib 2.10.9 (patched) 
4.2H323Plus 1.26.7PTLib 2.10.9 (patched) 
4.1H323Plus 1.26.7PTLib 2.10.9 (patched) 

Troubleshooting

Please submit more notes.

OSGnuGk VersionH323Plus / PTLibNote
All3.x, 4.x, 5.xPTLib 2.10.xuse --enable-ipv6 --disable-odbc
Windows, BSD, MacOS X3.x, 4.x, 5.xPTLib 2.10.xIPv6 support for Windows and BSD is buggy in PTLib 2.10.x, use PTLib 2.11.0 from 2012-02-20, don't use PTLib 2.11.1 or higher
AllAllAlldo not configure PWLib with --enable-openh323; GnuGk needs some features not used by OpenH323



Last updated: 17. Apr 2025