Pion Core - Third Party Libraries
The Pion Core Platform makes use of the following third-party libraries:
- Boost C++ Libraries
Boost 1.35.0 or later is required to build Pion. Instructions for building Boost are included in the README.boost file. You may also download the source code here for Boost 1.35.0 or Boost 1.37.0.
- Boost Lock-free Library (optional, included starting with v2.1)
This library is a working project proposed for inclusion in a future release of Boost. It only works on platforms that support certain atomic operations. When available, Pion uses it for performance improvements only. It is not required. Warning: on Unix, you should only use this on 64-bit platforms; it seems to crash consistently on 32-bit Unix platforms.
- OpenSSL Encryption Toolkit (optional but recommended)
This is included with most systems. If not, please see the appropriate README.platform file for installation instructions. In addition to the OpenSSL website, you can download the tarball here. If you're using Windows, you can download this binary distribution.
- zlib Compression Library (optional but recommended)
This is included with most systems. If not, please see the appropriate README.platform file for installation instructions. In addition to the zlib website, you can download the tarball here.
- bzip2 Compression Library (optional but recommended)
This is included with most systems. If not, please see the appropriate README.platform file for installation instructions. In addition to the bzip2 website, you can download the tarball here. If you're using Windows, you can download this binary distribution.
- The XML C parser and toolkit of Gnome (or "libxml", required by Platform Library)
This is included with most systems. If not, please see the appropriate README.platform file for installation instructions. In addition to the libxml website, you can download the tarball here.
- The Dojo Toolkit (included)
Dojo is used by Pion's web-based user interface. There is no need to download anything; Dojo is included within the Pion Platform distribution.
- The Pion Common & Pion Network Libraries (included)
These included libraries are produced by Atomic Labs, Inc., and made available under the Boost Software License.
Pion may also (optionally) use one of the following logging frameworks:
- log4cplus (recommended)
Starting with version 2.1, we have decided to use log4cplus instead of log4cxx due to log4cxx's dependency on libapr, huge code size (especially when you consider apr, aprutil, expat, etc.), and the difficulty caused by libapr's recursive dependencies on other libraries (like sqlite) which cannot be easily managed on operating systems where it is pre-installed.
In addition to the log4cplus website, you can download the source tarball here. If you're using Windows, you can download this binary distribution. Please see the appropriate README.platform file for installation instructions.
- log4cxx
If you're using Windows, you can download this binary distribution. For other platforms, you can download the source tarball here.
The most recent versions of Log4cxx (0.10.0 and greater) depend on the The Apache Portable Runtime (APR). These development libraries are included with most systems. If you do not have them already, you will need to download, build and install this tarball for apr and this tarball for apr-util. For Windows, the binary distribution above includes the needed libraries.
Please see the appropriate README.platform file for installation instructions.
- log4cpp
Optional Pion plugins may use these additional third-party libraries:
- SQLite Database Engine (included starting with v2.0)
Please see the appropriate README.platform file for installation instructions. In addition to the SQLite website, you can download the tarball here. Windows/MSVC users may instead prefer to download this pre-built binary distribution.
- YAJL ("Yet Another JSON Library") (for JSONCodec plugin)
Please see the appropriate README.platform file for installation instructions. In addition to the YAJL website, you can download the tarball here. Note that building YAJL from source requires CMake. In addition to the CMake website, you can download the CMake source tarball here. Windows/MSVC users may instead prefer to download this pre-built binary distribution.
Pre-built third-party libraries:
- Windows XP (MSVC 2005)
This contains all of the third-party libraries required to build Pion on Windows XP (for MSVC 2005). We recommend that you uncompress this file into your C:\ directory (or change paths in the Pion project files). This file includes boost, openssl, log4cplus, log4cxx, SQLite, yajl, libxml, zlib, bzip2, iconv and libxml. Please see the README.msvc file for more information.
- Redhat EL 5 32-bit (also CentOS 5)
This contains all of the third-party libraries required to build Pion on CentOS 5 (32-bit). We recommend that you uncompress this file into your /usr/local directory. This file includes boost 1.37, log4cplus and yajl. The log4cxx and uuid libraries are also included for 2.0 (no longer needed in 2.1). All the other libraries are normally included with Linux. Please see the README.linux file for more information.
- Redhat EL 5 64-bit (also CentOS 5)
This contains all of the third-party libraries required to build Pion on CentOS 5 (64-bit). We recommend that you uncompress this file into your /usr/local directory. This file includes boost 1.37, log4cplus and yajl. The log4cxx and uuid libraries are also included for 2.0 (no longer needed in 2.1). All the other libraries are normally included with Linux. Please see the README.linux file for more information.
- Redhat EL 4 32-bit (also CentOS 4)
This contains all of the third-party libraries required to build Pion on CentOS 4 (32-bit). We recommend that you uncompress this file into your /usr/local directory. This file includes boost 1.35, log4cplus and yajl. The log4cxx, apr, apr-util and uuid libraries are also included for 2.0 (no longer needed in 2.1). All the other libraries are normally included with Linux. Please see the README.linux file for more information.
- MacOS X 10.5 (Leopard)
This contains all of the third-party libraries required to build Pion, with support for both 32-bit and 64-bit Intel and PowerPC architectures. We recommend that you uncompress this file into your /usr/local directory. This file includes boost 1.37, log4cplus and yajl. The log4cxx and uuid libraries are also included for 2.0 (no longer needed in 2.1). All the other libraries are normally included with MacOS X or XCode. Please see the README.osx file for more information.
