Project

General

Profile

Installation » History » Version 11

ptrkrysik, 07/09/2018 05:37 AM
Beginning of pybombs description

1 2 ptrkrysik
h1. Manual compilation and installation
2 1 ptrkrysik
3 4 ptrkrysik
Currently manual method of installation is considered to be the easiest way to get newest version of *gr-gsm* up and running. The *gr-gsm* repository contains automatic tests of manual installation in form of "dockerfiles":https://github.com/ptrkrysik/gr-gsm/tree/development/tests/dockerfiles that are built and executed by "Travis CI":https://travis-ci.org/ptrkrysik/gr-gsm/builds continuous integration service. Travis CI informs if particular revision of *gr-gsm* builds and passes tests on a set of GNU/Linux distributions. History of the results can be checked on "the *gr-gsm*'s Travis CI page":https://travis-ci.org/ptrkrysik/gr-gsm/builds.
4 1 ptrkrysik
5 4 ptrkrysik
The instructions presented here are a version of dockerfiles:https://github.com/ptrkrysik/gr-gsm/tree/development/tests/dockerfiles with stripped instructions specific to docker and without running unit tests. This wiki might at some moment be behind installation procedures contained in the dockerfiles:https://github.com/ptrkrysik/gr-gsm/tree/development/tests/dockerfiles so in case of installation problems it is a good idea to look in there.
6 1 ptrkrysik
7 6 ptrkrysik
h2. Debbian-based distributions (Debian Testing, Ubuntu 16.04+, Kali Rolling Edition) 
8 1 ptrkrysik
9 5 ptrkrysik
Install all needed prerequisites with following command:
10 1 ptrkrysik
11 3 ptrkrysik
<pre>
12 9 ptrkrysik
sudo apt-get update && sudo apt-get install -y \
13 1 ptrkrysik
    cmake \
14
    autoconf \
15
    libtool \
16
    pkg-config \
17
    build-essential \
18
    python-docutils \
19
    libcppunit-dev \
20
    swig \
21
    doxygen \
22
    liblog4cpp5-dev \
23
    python-scipy \
24
    gnuradio-dev \
25
    gr-osmosdr \
26
    libosmocore-dev
27 3 ptrkrysik
</pre>
28 1 ptrkrysik
29
Currently on Debian Testing and Kali Rolling execution of following command is needed:
30 3 ptrkrysik
<pre> sudo ln -sf /usr/lib/x86_64-linux-gnu/libvolk.so.1.3.1 /usr/lib/x86_64-linux-gnu/libvolk.so.1.3 </pre>
31 1 ptrkrysik
It is a workaround due to an "issue":https://github.com/ptrkrysik/gr-gsm/pull/378#issuecomment-379587145 with faulty libvolk installation on these systems at the moment.
32 5 ptrkrysik
33
<pre>
34
git clone https://git.osmocom.org/gr-gsm
35
cd gr-gsm
36
mkdir build
37
cd build
38
cmake ..
39
mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/
40
make
41
sudo make install
42
sudo ldconfig
43
</pre>
44
45
To speedup compilation instead of "make" you can use parallel build <pre>make -j $nproc</pre> where "$nproc" is number of CPU cores. The "mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/" line is there because without it parallel build sometimes fails.
46
47
h2. Fedora 26
48
49 9 ptrkrysik
Install all needed prerequisites with following command invoked with root's rights:
50 5 ptrkrysik
<pre>dnf install -y \
51
    gcc-c++ \
52
    make \
53
    cmake \
54
    pkgconfig \
55
    boost-devel \
56
    gnuradio-devel \
57
    libosmocore-devel \
58
    gr-osmosdr \
59
    swig \
60
    doxygen \
61
    python2-docutils \
62 8 ptrkrysik
    cppunit-devel
63 5 ptrkrysik
</pre>
64 1 ptrkrysik
65
Then download the *gr-gsm*'s source and build it with following commands:
66 3 ptrkrysik
<pre>
67 1 ptrkrysik
git clone https://git.osmocom.org/gr-gsm
68 4 ptrkrysik
cd gr-gsm
69
mkdir build
70
cd build
71
cmake ..
72 1 ptrkrysik
mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/
73
make
74
</pre>
75
76 9 ptrkrysik
and as root:
77
<pre>
78
make install
79
ldconfig
80
</pre>
81
82 1 ptrkrysik
To speedup compilation instead of "make" you can use parallel build <pre>make -j $nproc</pre> where "$nproc" is number of CPU cores. The "mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/" line is there because without it parallel build sometimes fails.
83
84
85
h1. Installation from packages on Debian Testing and Ubuntu 18.04+
86 9 ptrkrysik
87
Thanks to work of Petter Reinholdtsen *gr-gsm* has packages for Debian Testing that were subsequently included in Ubuntu starting from 18.04. On these systems *gr-gsm* can be installed by simply doing:
88 10 ptrkrysik
<pre>sudo apt-get install</pre>
89
90
As of *gr-gsm*'s version 0.41.2 grgsm_livemon application doesn't work because of change of PyQT version in current Debian Testing and Ubuntu 18.04. In order to use this program you can generate new version out of "grgsm_livemon.grc":
91
<pre>
92
wget http://git.osmocom.org/gr-gsm/plain/apps/grgsm_livemon.grc
93
grcc -d . grgsm_livemon.grc
94
mv grgsm_livemon.py grgsm_livemon
95
</pre>
96
Then move the grgsm_livemon file into a directory in the search path, i.e. /usr/local/bin.
97 11 ptrkrysik
98
h1. Compilation and installation with use of Pybombs
99
100
*Pybombs* is *GNU Radio* project's installation manager that installs *GNU Radio* and related projects, *gr-gsm* included. In times when distributions provided too old *GNU Radio*, *pybombs* offered the most straightforward way of installing *gr-gsm* as it automagically compiles newest *GNU Radio* and all other *gr-gsm*'s prerequisites. *Pybombs* is doing quite complex work of figuring out what too install from packages of distribution and what to compile. Failures too install with use of *pybombs* were quite widespread among *gr-gsm* users due to many reasons (in addition to general issues of *gr-gsm* installation):
101
* head of *GNU Radio*'s master branch not compiling due to ongoing development,
102
* issues in *pybombs* resulting from intensive changes in the project,
103
* 
Add picture from clipboard (Maximum size: 48.8 MB)