Chapter 5. Library Reference

Table of Contents

5.1. Introduction
5.2. Windows Automated Library Download
5.3. Qt
5.4. GLib And Supporting Libraries
5.5. c-ares
5.6. SMI (Optional)
5.7. zlib (Optional)
5.8. libpcap or Npcap (Optional, But Strongly Recommended)
5.9. GnuTLS (Optional)
5.10. Libgcrypt
5.11. Kerberos (Optional)
5.12. Lua (Optional)
5.13. MaxMindDB (Optional)
5.14. WinSparkle (Optional)

5.1. Introduction

Like most applications, Wireshark depends on libraries provided by your operating system and by third parties, including the C runtime library, GLib, libpcap, and Qt. While running Wireshark only requires the libraries themselves, building it requires header files, import libraries, and related resources.

Binary libraries are available in different formats and are specific to the target operating system, platform, and compiler. They can be compiled by hand, but are most often installed as pre-built packages.

On most Linux systems, the required binary and development libraries can be installed using your package manager. We provide setup scripts that will install the required packages for most distributions. See Section 2.1.1, “Build environment setup” for details.

On macOS, CMake, Ninja, and other tools required to build Wireshark can be installed using a third party package manager such as Homebrew or MacPorts. As with Linux, we provide tools/macos-setup-brew.sh, which will install the required Homebrew packages. We provide several ways to install third party libraries:

  • CMake will automatically install library dependencies if you set the WIRESHARK_BASE_DIR CMake variable to a directory that is writable by you, such as wireshark-third-party at the same level as your Wireshark source code directory.
  • tools/macos-setup-brew.sh can install dependencies using Homebrew if you use the --install-required and --install-optional flags
  • tools/macos-setup.sh will will download, build, and install dependencies. It installs into /usr/local by default; you can change this with the -p flag.

Windows doesn’t have a good library package manager at the present time, so we provide our own pre-built libraries. They can be installed using tools/win-setup.ps1 and are automatically installed when you run CMake. With the exception of Qt, all libraries required to build Wireshark on Windows are available for download at https://dev-libs.wireshark.org/windows/. See Section 5.2, “Windows Automated Library Download” for details.