| 1 | + | # Installation |
| 2 | + | |
| 3 | + | ## Pre-requires |
| 4 | + | |
| 5 | + | Suppose on your machine, you have: |
| 6 | + | |
| 7 | + | - **libxml2-dev, libpcap-dev, libconfuse-dev libsctp-dev** : `sudo apt-get install libxml2-dev libpcap-dev libconfuse-dev libsctp-dev` |
| 8 | + | - **gcc, make, git**: `sudo apt install gcc make git` |
| 9 | + | - **Clone the source code on your machine**: `git clone https://github.com/Montimage/5GReplay.git` |
| 10 | + | - **mmt-sdk**: `cd 5GReplay; sudo dpkg -i lib/mmt-dpi*.deb` |
| 11 | + | |
| 12 | + | ## Clean |
| 13 | + | |
| 14 | + | - Do `make clean` to clean compiled objects |
| 15 | + | |
| 16 | + | |
| 17 | + | ## Compile |
| 18 | + | |
| 19 | + | |
| 20 | + | - compile on its local directory: `make` |
| 21 | + | |
| 22 | + | - compile sample rules existing in `rules` folder: `make sample-rules` |
| 23 | + | |
| 24 | + | - enable debug using gdb: `make DEBUG=1` |
| 25 | + | |
| 26 | + | |
| 27 | + | - if you want to use Valgrind DRD or Helgrind, you should do `make DEBUG=1 VALGRIND=1`. The option `VALGRIND=1` adds some instruction allowing Valgrind bypass atomic operations that usually causes false positive errors in Valgrind. |
| 28 | + | |