centos8.1 freeswitch 编译安装指南
centos8也出来了一段时间了,最近研究了下再centos8上编译freeswitch的master版本,记录下来。包括编译mod_av和opus
前提工作
大量安装包需要科学上网,所以最好先设置个代理
export http_proxy="http://127.0.0.1:10809"
export https_proxy="http://127.0.0.1:10809"
前期yum源的安装
yum -y install make gettext-devel expat-devel curl-devel zlib-devel openssl-devel bzip2 readline-devel
yum install -y epel-release
yum install -y --skip-broken git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtiff-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel libatomic hiredis-devel diffutils
yum install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
yum install -y http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.10-1.el7.x86_64.rpm
yum install -y ffmpeg ffmpeg-devel
安装opus
yum install -y opus-devel
安装完成之后要
cp /usr/local/lib/pkgconfig/opus.pc /usr/lib64/pkgconfig/
ln -s /usr/lib64/pkgconfig/opus.pc /usr/lib64/pkgconfig/libopus.pc
安装编译需要的库
dnf install -y speex.x86_64 baresip-speex_pp.x86_64 speexdsp.x86_64
dnf install -y http://repo.okay.com.mx/centos/8/x86_64/release/speex-devel-1.2.0-1.el8.x86_64.rpm
dnf install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/speexdsp-devel-1.2-0.13.rc3.el8.x86_64.rpm
dnf install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/ldns-devel-1.7.0-21.el8.x86_64.rpm
dnf install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libedit-devel-3.1-23.20170329cvs.el8.x86_64.rpm
dnf install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/yasm-1.3.0-7.el8.x86_64.rpm
dnf install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/pcre-devel-8.42-4.el8.x86_64.rpm
dnf install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/lua-devel-5.3.4-11.el8.x86_64.rpm
dnf install libpq-devel
dnf install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libsndfile-devel-1.0.28-10.el8.x86_64.rpm
加载环境变量
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/:/usr/local/lib64/pkgconfig/:/usr/lib64/pkgconfig/
安装spandsp3
centos8需要 yum install libtiff libtiff-devel libjpeg-devel
cd /usr/src/
git clone https://github.com/freeswitch/spandsp.git
cd spandsp
./bootstrap.sh -j
./configure
make
make install
ldconfig
安装sofia-sip
cd /usr/src/
git clone https://github.com/freeswitch/sofia-sip.git
cd sofia-sip
./bootstrap.sh -j
./configure
make
make install
ldconfig
安装signalwire
dnf install -y cmake
安装libks
yum install libatomic
cd /usr/local/src
git clone https://github.com/signalwire/libks.git
cd libks
cmake .
make
make install
安装signalwire-c
cd /usr/local/src
git clone https://github.com/signalwire/signalwire-c.git
cd signalwire-c/
cmake .
make
make install
开始编译
如果需要设置代理
cd /usr/local/src/
git config --global https.proxy http://127.0.0.1:10808
git config --global http.proxy http://127.0.0.1:10808
git clone https://github.com/signalwire/freeswitch
git config --global --unset https.proxy
git config --global --unset http.proxy
下面就可以编译了
cd freeswitch
./bootstrap.sh
./configure --enable-core-pgsql-support
make -j
make install
完工