> For the complete documentation index, see [llms.txt](https://prosbcdocs.telcobridges.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prosbcdocs.telcobridges.com/telecom-references/apis-and-integration/compiling-toolpack.md).

# Compiling Toolpack

Toolpack is provided with most of its source code, to enable developers to develop their own applications, use example code, and even debug problems in the Toolpack framework if necessary. The following procedure explains how to compile Toolpack.

### Note

The following procedure provides examples for package 2.5.53 for centos5 64 bits. Please adapt the procedure below for your platform and build number.

### Prerequisites

Before compiling Toolpack's source code, make sure your host has all [Toolpack prerequisites](https://github.com/telcobridges-main/tmedia-wiki/tree/main/tmedia/legacy/toolpack-installation-2-5/README.md). In this case the "Toolpack Development Prerequisite" are NOT optional

### Download source code and pre-compiled libraries

A couple of packages need to be downloaded. Some that contain source code, and others that contain pre-compiled binaries and libraries for your platform.

Please download the following source code packages:

* tb640\_2.5.53\_common.tgz
* tbcmc\_2.5.53\_common.tgz

Please download the following binary packages (where 2.X.X is the version you wish to compile, and \[platform] is your platform, such as "x86\_64-linux64\_centos5\_release"):

* tb640\_2.5.53\_x86\_64-linux64\_centos5\_release.tgz
* tbcmc\_2.5.53\_x86\_64-linux64\_centos5\_release.tgz

You can also download a documentation package:

* tb-doc.zip

### Unzip all packages

Unzip all the packages above in the same folder (say "yes" when asked to replace duplicated files):

* tar -zxf tb640\_2.5.53\_common.tgz
* tar -zxf tb640\_2.5.53\_x86\_64-linux64\_centos5\_release.tgz
* tar -zxf tbcmc\_2.5.53\_common.tgz
* tar -zxf tbcmc\_2.5.53\_x86\_64-linux64\_centos5\_release.tgz

### Compile in release

To compile in release (use X86\_64=1 flag only for 64 bits packages):

* cd tb/src
* make all X86\_64=1

### Compile in debug

To compile in debug (use X86\_64=1 flag only for 64 bits packages):

* **For release 2.4 and less only: mv lib/release lib/debug**
* cd src
* make all DBG=1 X86\_64=1

### Compilation results

The libraries pre-compiled from the packages are located in

* lib/official/x86\_64-linux64/ The libraries you compiled yourself are located in
* lib/release/x86\_64-linux64/ or
* lib/debug/x86\_64-linux64/ Makefiles, when linking, will first use the libraries you compiled (if present), otherwise the official libraries. This allow compiling only applications, or only some libraries of the package, without having to recompile the whole thing.

### Windows Platform

* Only 32bit is supported (don't use X86\_64=1 flag)

1. Compile the library directory

* cd tb/src/libraries
* make all

2. Compile toolpack

* cd tb/src
* make all


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://prosbcdocs.telcobridges.com/telecom-references/apis-and-integration/compiling-toolpack.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
