CentOS7.9 自带的 sqlite3.7.17 太旧了,估计是 10 多年前的版本,有太多问题,决定升级
源码编译后的目标文件 freeswitch 在 /usr/local/freeswitch/bin 目录下,先查依赖关系
ldd /usr/local/freeswitch/bin/freeswitch | grep sqlite
libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x00007f32e1f01000)
# 源码编译 sqlite3.45
wget https://www.sqlite.org/2024/sqlite-autoconf-3450300.tar.gz
tar zxvf sqlite-autoconf-3450300.tar.gz
./configure --prefix=/usr/local
make && make install
先删除老版本的 sqlite3.pc,否则 freeswitch 的 configure 又找回了老版本
rm -f /usr/lib64/pkgconfig/sqlite3.pc
让 freeswitch 找到新版本,新版本是 /usr/local/lib/pkgconfig/sqlite3.pc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
cd $(FS_SRC_ROOT)
./configure
make core-clean
make core && make core-install
重新检查依赖
ldd /usr/local/freeswitch/bin/freeswitch | grep sqlite
libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x00007f5130d29000)
确实跟之前不同
搞定收工
试试下面的配置:
<param name="core-db-dsn" value="sqlite://memory://file:core.db?mode=memory&cache=shared" />
有时间的话可以看看下面二个链接: