http://files.freeswitch.org/releases/freeswitch/
编译的过程中会遇到许多缺少库的问题,先列出来,不然没添加一个库,就要重新configure
sudo apt install
libspeexdsp-dev
libcurl3-dev
libsqlite3-dev
ibspeexdsp-dev
libldns-dev
libedit-dev
libtiff5-dev
yasm
libavformat-dev
libswscale-dev
libavresample-dev
libopus-dev
libpq-dev
liblua5.3-dev
uuid uuid-dev
libsndfile1-dev需要源码安装的
libks
cmake (或者install的版本高于3.7.2)
signalwire-client-c
1-从上面的网址查看要下载的版本
2-然后解压
进入解压后的目录 开始安装
3-./configure -prefix=/usr/local/freeswitch
可能遇到的缺少的库 (可能不同源 名字不同)
libspeexdsp-dev
libcurl3-dev
libsqlite3-dev
sudo apt install libspeexdsp-dev
sudo apt install libldns-dev
sudo apt install libedit-dev
sudo apt install libtiff5-dev
4-make
可能缺少的库
sudo apt install yasm
sudo apt install libavformat-dev
1) 报错: (CRYPTO_MEM_CHECK_ON 这个变量在openssl的头文件)
src/switch_core_cert.c:278:2: error: implicit declaration of function ‘CRYPTO_mem_ctrl’ [-Werror=implicit-function-declaration]
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
^
src/switch_core_cert.c:278:18: error: ‘CRYPTO_MEM_CHECK_ON’ undeclared (first use in this function)
CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
^
src/switch_core_cert.c:278:18: note: each undeclared identifier is reported only once for each function it appears in
src/switch_core_cert.c: In function ‘mkcert’:
src/switch_core_cert.c:376:3: error: ‘RSA_generate_key_ex’ is deprecated [-Werror=deprecated-declarations]
RSA_generate_key_ex(rsa, bits, BN_value_RSA_F4, NULL);
可以看一下Makefile里面openssl的路径是否正确 或者库是否有问题
修改Make file -将一deprecated-declarations错误转为waring 不报错。
openssl_CFLAGS = -I/usr/local/ssl/include -DHAVE_OPENSSL -Wno-deprecated-declarations -Wno-unused-value
2) 报错
Entering directory '/home/chry/workspace/opensource/freeswitch-1.10.3.-release/src/mod/applications/mod_av'
Makefile:1442: *** You must install libavformat-dev to build mod_av. Stop.
install libavformat-dev (如果还报错,重新configure)
3)报错
avformat.c:42:32: fatal error: libswscale/swscale.h
sudo apt install libswscale-dev
4)类似错误 继续instll
libavresample-dev
libopus-dev
libpq-dev
5)lua.h
sudo apt install liblua5.3-dev
cd ~ /freeswitch-1.10.3.-release/src/mod/languages/mod_lua下
cp /usr/include/lua5.3/*.h .
sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.3.so /usr/lib/x86_64-linux-gnu/liblua.so (编译找的是lua名字 )
6) libks 这个比较麻烦
git clone https://github.com/signalwire/libks.git
--装cmake 但是 CMake 3.7.2 or higher is required ,所以最好源码下了安装
cmake --prefix=/usr/local/libks . // make //sudo make install
install uuid uuid-dev
--装signalwire-client-c git clone https://github.com/signalwire/signalwire-c.git
7)libsndfile-dev
sudo apt install libsndfile1-dev
5-sudo make install
6-配置环境变量
/etc/ld.so.conf.d
PATH= /usr/local/ffmpeg/bin
export LD_LIBRARY_PATH=/usr/local/ssl/lib
使全局可执行freeswitch
7-启动 siudo freeswitch
ERROR: Failed to set SCHED_FIFO scheduler (Operation not permitted) ----如果freeswitch 会报这个错
ERROR: Could not set nice level
Cannot open pid file /usr/local/freeswitch/var/run/freeswitch/freeswitch.pid.
sudo ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin/ -------要用sudo启动,并且设置任意路径可以启动
sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
sudo ln -s /usr/local/ssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1 ------------这个是报少库的操作
sudo ln -s /usr/local/ssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1