Build from Source » History » Revision 5
Revision 4 (neels, 11/15/2016 02:29 PM) → Revision 5/66 (neels, 11/15/2016 03:56 PM)
{{>toc}}
h1. Build from Source
bq. *Before you consider building from source, be aware that there are [[Nightly Builds]]
available for Debian + Ubuntu platforms. These are recommended for normal users.*
Generally, Osmocom projects use autoconf/automake.
The general pattern for building is:
<pre>
cd source-tree
autoreconf -fi
./configure
make
make check
make install
</pre>
The @./configure@ step may need further configuration options, and
@./configure@ will tell you which dependencies are still missing, if any.
See below for project specific details and troubleshooting.
The @make@ step may generally be sped up by using multiple CPU cores:
<pre>
make -j 8
</pre>
We take care to make our builds parallelizable with @-j@, but in case
@make -j@ fails, issuing a simple @make@ could fix the problem (expecting
this only in libsmpp34).
h1. Dependencies
Which libraries are needed by various Osmocom programs is best resolved during
the @./configure@ step described below. This script checks for any missing
dependencies.
Here is a (probably incomplete) overview of dependencies between Osmocom
projects:
| _To build ..._ | _... you also need ..._ |
| osmo-bts | libosmocore, libosmo-abis, openbsc (source tree only), L1 headers depending on BTS model |
| osmo-pcu | libosmocore, L1 headers depending on BTS model |
| openbsc: osmo-nitb, osmo-bsc, osmo-sgsn, osmo-bsc_nat, osmo-bsc_mgcp | libosmocore, libosmo-abis, libosmo-netif, libosmo-sccp, libsmpp34 |
| openbsc: 3G osmo-cscn (branch sysmocom/iu) | libosmocore, libosmo-abis, libosmo-netif (branch sysmocom/sctp), libosmo-sccp (branch sysmocom/iu), asn1c, libasn1c, osmo-iuh |
| osmo-iuh | libosmocore, libosmo-netif, libosmo-sccp, asn1c, libasn1c |
h1. Download Sources
The latest Osmocom sources are available from git at https://git.osmocom.org,
where each project's overview page displays the actual git URL.
The projects' repository URLs generally are of the pattern:
<pre>git://git.osmocom.org/project-name</pre>
For example, to verify libosmocore's git repository URL, browse to
https://git.osmocom.org/libosmocore/ and observe the URL shown at the
bottom of the page under _Clone_: @git://git.osmocom.org/libosmocore@
To download the libosmocore sources using the @git@ client:
<pre>
git clone git://git.osmocom.org/libosmocore
</pre>
(To contribute, see [[Coding Standards#Submitting-Patches|Submitting Patches]])