1ba50df96Sxklllll# F-Stack Build GUide 2ba50df96Sxklllll 3ba50df96SxklllllThe procedures to compile f-stack in different linux releases is almost the same, but there are still some points you need to pay attention to. This document aims to help you solve some of the problems you may meet when compiling f-stack in different linux releases. 4ba50df96Sxklllll 5ba50df96Sxklllll```sh 6ba50df96Sxklllll$ sudo -i 7ba50df96Sxklllll# in centos and redhat 8ba50df96Sxklllll$ yum install -y git gcc openssl-devel kernel-devel-$(uname -r) bc numactl-devel python 9ba50df96Sxklllll# in ubuntu 10ba50df96Sxklllll$ apt-get install git gcc openssl libssl-dev linux-headers-$(uname -r) bc libnuma1 libnuma-dev libpcre3 libpcre3-dev zlib1g-dev python 11ba50df96Sxklllll 12ba50df96Sxklllll$ mkdir /data/f-stack 13ba50df96Sxklllll$ git clone https://github.com/F-Stack/f-stack.git /data/f-stack 14ba50df96Sxklllll 15ba50df96Sxklllll# compile dpdk 16ba50df96Sxklllll$ cd /data/f-stack/dpdk 17ba50df96Sxklllll$ make config T=x86_64-native-linuxapp-gcc 18ba50df96Sxklllll$ make 19ba50df96Sxklllll 20ba50df96Sxklllll# Compile f-stack lib 21ba50df96Sxklllll$ export FF_PATH=/data/f-stack 22ba50df96Sxklllll$ export FF_DPDK=/data/f-stack/dpdk/build 23ba50df96Sxklllll$ cd /data/f-stack/lib 24ba50df96Sxklllll$ make 25ba50df96Sxklllll 26ba50df96Sxklllll# Compile Nginx 2728e10b57Sfengbojiang(姜凤波)$ cd ../app/nginx-1.16.1 28ba50df96Sxklllll$ ./configure --prefix=/usr/local/nginx_fstack --with-ff_module 29ba50df96Sxklllll$ make 30ba50df96Sxklllll$ make install 31ba50df96Sxklllll 32ba50df96Sxklllll# Compile Redis 33*14cef497Sfengbojiang$ cd ../redis-5.0.5 34ba50df96Sxklllll$ make 35ba50df96Sxklllll 36ba50df96Sxklllll# Compile f-stack tools 37ba50df96Sxklllll$ cd ../../tools 38ba50df96Sxklllll$ make 39ba50df96Sxklllll 40ba50df96Sxklllll# Compile helloworld examples 41ba50df96Sxklllll$ cd ../examples 42ba50df96Sxklllll$ make 43ba50df96Sxklllll``` 44ba50df96Sxklllll 4528e10b57Sfengbojiang(姜凤波)## Compile tools in Ubuntu 46ba50df96Sxklllll 47ba50df96Sxklllll- remove '\\' in statement printf at f-stack/tools/netstat/Makefile line 70, now it should be: 48ba50df96Sxklllll 49ba50df96Sxklllll``` 50ba50df96Sxklllll- printf("\#define\tN%s\t%s\n", toupper($$2), i++); 51ba50df96Sxklllll+ printf("#define\tN%s\t%s\n", toupper($$2), i++); 52ba50df96Sxklllll``` 53ba50df96Sxklllll 54ba50df96Sxklllll## Compile dpdk in virtual machine 55ba50df96Sxklllll 56ba50df96Sxklllll- f-stack/dpdk/lib/librte_eal/linuxapp/igb_uio/igb_uio.c line 279: 57ba50df96Sxklllll``` 58ba50df96Sxklllll 59ba50df96Sxklllll- if (pci_intx_mask_supported(udev->pdev)) { 60ba50df96Sxklllll+ if (true || pci_intx_mask_supported(udev->pdev)) { 61ba50df96Sxklllll```