Which libraries are needed by various Osmocom programs is best resolved duringthe ./configure step described below. This script checks for any missingdependencies and issues corresponding error messages.

Here is a (probably incomplete) overview of dependencies between Osmocomprojects:

If you want to build on specific Linux distros, you might need to install additional dependencies before the build will succeed-- this is a collection of various dependencies used by various osmocom projects:

For example, to verify libosmocore's git repository URL, browse tohttps://git.osmocom.org/libosmocore/ and observe the URL shown at thebottom of the page under Clone: git://git.osmocom.org/libosmocore

Then download this URL using the git client:

git clone git://git.osmocom.org/libosmocore

It is also possible to download specific releases' tarballs for each git refthat is defined. For example, browse to https://git.osmocom.org/libosmocore/,click on refs on the top and select any branch or tag, e.g. 0.9.0

All of these download instructions hold true for any of the git repositories,not limited to libosmocore.

If you choose a non-standard location, later builds may fail to find it.For example, if you built libosmocore with a custom prefix, a subsequentbuild of libosmo-abis, which needs libosmocore installed, may fail.You can tell a build process where to look for libraries to compile againstusing the PKG_CONFIG_PATH environment variable.

Furthermore, when you want to run binaries compiled against librariesinstalled in a non-standard location, you will have to use theLD_LIBRARY_PATH environment variable to successfully load the binary.Particularly, the make check step typically runs such binaries,as well as when you would like to run the installed binaries yourself.

This is an example of a complete build process for 2G+3G core network,including SMPP and the "nat" binaries, to the /usr/local prefix; it is assumedthat your system by default scans /usr/local for installed libraries:

If you don't require 3G, you can omit build of osmo-iuh and remove configure flag "--enable-iu" in osmo-msc and osmo-sgsn.