Project

General

Profile

BuildInstructionsPage » History » Version 2

matt, 10/24/2017 11:47 PM

1 2 matt
h1. O B S O L E T E
2 1 zecke
3 1 zecke
In late 2013/early 2014 OP25 was migrated from svn to git.  At the same time two other major changes 
4 1 zecke
were made (GNU Radio 3.7 API, which is not backward compatible; and automake was removed and replaced
5 1 zecke
with cmake).  This page contains instructions for building the old SVN and GR3.6 version of OP25.
6 1 zecke
7 1 zecke
See the new install page
8 1 zecke
9 2 matt
h1. Getting and Building OP25
10 1 zecke
This page describes how you can get the latest version of OP25 and build it for your computer.
11 1 zecke
12 2 matt
h2. Installing the Pre-requisites
13 2 matt
14 1 zecke
Before doing anything you'll need to make sure you have all the pre-requisite software installed. At the very minimum this will include:
15 2 matt
16 1 zecke
 * Subversion -- Revision control software to access the source code repository
17 1 zecke
 * g++ -- The GNU C++ compiler,
18 1 zecke
 * make -- GNU Make,
19 1 zecke
 * GNURadio (Release 3.6 or later) -- The free software digital signal processing toolkit and
20 1 zecke
 * autoconf+automake -- So you can create the configure script and makefiles.
21 1 zecke
 * [http://itpp.sourceforge.net IT++] A library of communications-related code.
22 1 zecke
23 1 zecke
The details on what you need to obtain and how you do so vary between GNU/Linux distributions. Its easiest on Debian (and derived distributions such as Ubuntu) and can be quite painful on some distributions. Your mileage probably varies so feel free to document the process thoroughly. We get the pre-requisites installed with one command on Ubuntu as follows:
24 1 zecke
25 2 matt
<pre>
26 1 zecke
sudo apt-get -y install swig g++ automake libtool python-dev libfftw3-dev \
27 1 zecke
libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \
28 1 zecke
libsdl1.2-dev python-wxgtk2.8 subversion git-core guile-1.8-dev \
29 1 zecke
libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
30 1 zecke
python-cheetah python-lxml doxygen qt4-dev-tools \
31 1 zecke
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools libitpp-dev \
32 1 zecke
bison flex libgtk2.0-dev libpcap-dev
33 2 matt
</pre>
34 1 zecke
35 2 matt
h2. Downloading the Source Code
36 2 matt
37 1 zecke
Now you should be ready to get the source code. The best way to do this is using Subversion:
38 1 zecke
39 2 matt
@svn co http://op25.osmocom.org/svn/trunk op25@
40 1 zecke
41 1 zecke
This should create a directory named 'op25' containing the latest version of the source files.
42 1 zecke
43 2 matt
h2. Compiling
44 2 matt
45 1 zecke
Compiling and installing OP25 requires you run the following commands:
46 1 zecke
47 2 matt
<pre>
48 1 zecke
cd op25/blocks
49 1 zecke
./bootstrap && ./configure && make
50 1 zecke
make check
51 1 zecke
sudo make install
52 2 matt
</pre>
53 1 zecke
54 1 zecke
Of course, you won't get away with it that easily! There are probably going to be compile errors and such that require you to install missing packages. Please make a careful note of the packages you need to install and problems you encounter. Then you can update this Wiki page to help others following after. For people without a login for the Wiki you can [mailto:op25-help@sedition.org.au email me] with your notes. Developers can request a Wiki/Subversion login (with your preferred username/password).
55 1 zecke
56 2 matt
h2. Compiling the imbe_vocoder block
57 1 zecke
58 1 zecke
For the most part, you can follow the directions in the INSTALL file.  Don't forget to run the bootstrap script prior to running configure.  You may also be able to get some extra speed by enabling some additional gcc optimizations.  Here's one possible build sequence:
59 2 matt
<pre>
60 1 zecke
cd op25/imbe_vocoder
61 1 zecke
sh bootstrap
62 1 zecke
./configure CXXFLAGS="-O3"
63 1 zecke
make
64 1 zecke
sudo make install
65 2 matt
</pre>
66 1 zecke
67 1 zecke
Note: the 'decoder' block (see above) must have previously been installed prior to building this block.
68 1 zecke
69 2 matt
h2. Compiling the repeater block
70 1 zecke
71 1 zecke
First, compile the imbe_vocoder block (see above).  Then do
72 2 matt
<pre>
73 1 zecke
cd op25/repeater
74 1 zecke
sh bootstrap
75 1 zecke
./configure
76 1 zecke
make
77 1 zecke
sudo make install
78 2 matt
</pre>
79 1 zecke
80 1 zecke
81 2 matt
h2. Build instructions for the Linux novice
82 1 zecke
83 1 zecke
[BeginnersBuildDeprecated These directions for beginners] might be of help to those without a background in Linux to get the project up and running, or even those with experience who are running into a wall getting a piece to build.  
Add picture from clipboard (Maximum size: 48.8 MB)