当前位置: 首页 > news >正文

centos 9 编译安装 rtpengine (快方式)-使用 debian12 系统自带

1:更新系统包

dnf update

2:启用EPEL仓库(提供额外软件包)

# 安装EPEL仓库
sudo dnf install epel-release -y

# 检查EPEL仓库是否启用(输出应包含epel)
dnf repolist

# 启用CRB仓库
sudo dnf config-manager --set-enabled crb

# 更新缓存
sudo dnf makecache

3:安装依赖包

dnf install -y openssl-devel libcurl-devel libevent-devel json-glib-devel 
libpcap-devel iptables-devel xmlrpc-c-devel  opus-devel spandsp-devel 
hiredis-devel iptables-devel  libwebsockets-devel libmnl-devel 
libnftnl-devel pandoc perl-Socket6 perl-Convert-Bencode gperf mysql-devel  



sudo yum install -y epel-release
sudo yum install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm

# 安装 FFmpeg 开发包
sudo yum install -y ffmpeg-devel

sudo dnf install perl-IPC-Cmd

4:再次确认安装依赖包

sudo dnf install -y git gcc make autoconf automake libtool pkgconfig \
    glib2-devel openssl-devel libpcap-devel libevent-devel \
    iptables-devel libcurl-devel libwebsockets-devel hiredis-devel \
    spandsp-devel xmlrpc-c-devel opus-devel
# 下载并编译bcg729库
wget https://github.com/BelledonneCommunications/bcg729/archive/refs/tags/1.1.1.tar.gz
tar zxvf bcg729-1.1.1.tar.gz && cd bcg729-1.1.1
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make && make install
ldconfig  # 更新动态库缓存[2,3](@ref)

5:下载rtpengine

wget https://github.com/sipwise/rtpengine/archive/refs/tags/mr11.5.1.39.tar.gz

6:编译安装 rtpengine

tar -xvf mr13.2.1.1.tar.gz

cd rtpengine-mr13.2.1.1/

make with-kernel

7:错误信息

Package libiptc was not found in the pkg-config search path. Perhaps you should add the directory containing `libiptc.pc' to the PKG_CONFIG_PATH environment variable Package 'libiptc', required by 'virtual:world', not found

# 下载并编译 iptables 源码
wget https://www.netfilter.org/pub/iptables/iptables-1.8.9.tar.xz
cd iptables-1.8.9
./configure --prefix=/usr --libdir=/usr/lib64 --disable-nftables
make && sudo make install

main.c:2:10: fatal error: ncurses.h: No such file or directory
    2 | #include <ncurses.h>
      |          ^~~~~~~~~~~
compilation terminated.

sudo dnf install ncurses-devel

遇到无法解决的问题为:

进入内核转发 编辑报错 错误信息为:/home/soft/rtpengine-mr11.5.1.39/kernel-module/xt_RTPENGINE.c: In function ‘send_proxy_packet4’:
/home/soft/rtpengine-mr11.5.1.39/kernel-module/xt_RTPENGINE.c:4028:14: error: too few arguments to function ‘ip_route_output’
 4028 |         rt = ip_route_output(net, dst->u.ipv4, src->u.ipv4, tos, 0);
      |              ^~~~~~~~~~~~~~~
In file included from ./include/net/ip.h:29,
                 from ./include/net/ip6_checksum.h:27,
                 from /home/soft/rtpengine-mr11.5.1.39/kernel-module/xt_RTPENGINE.c:5:
./include/net/route.h:138:30: note: declared here
  138 | static inline struct rtable *ip_route_output(struct net *net, __be32 daddr,

相关文章:

  • SQL 基础 BETWEEN 的常见用法
  • leetcode hot100 柱状图中的最大矩形
  • Linux下S3cmd使用方式详解:从入门到高级的对象存储管理
  • RISC-V AIA学习2---IMSIC
  • macOS 安装 Miniconda
  • C++ Json-Rpc框架-3项目实现(1)(1.其它函数实现2.消息类型字段定义3.消息Message/通信Muduo抽象具象实现)
  • 深入解析 Vue3 响应式系统:原理、性能优化与应用场景
  • leetcode 2116. 判断一个括号字符串是否有效 中等
  • 如何扩展 Linux 中 ext4 文件系统的大小
  • 【PostgreSQL】pg各版本选用取舍逻辑与docker安装postgres:15
  • Day110 若依-基础
  • 微信小程序中使用WebSocket通信
  • 【2025】基于springboot+vue的高考志愿填报系统设计与实现(源码、万字文档、图文修改、调试答疑)
  • Chrome 134 版本开发者工具(DevTools)更新内容
  • WordPress分类目录绑定二级域名插件
  • WordPress上传图片时显示“未提供数据”错误
  • 常⻅框架漏洞--ThinkPHP
  • Python虚拟环境:从入门到实战指南
  • vscode设置console.log的快捷输出方式
  • 量化研究--小果聚宽交易系统上线高速服务器,提供源代码
  • 凤阳鼓楼脱落瓦片2023年刚经历修复,凤阳县文旅局长回应是否违建等焦点问题
  • 韩国总统选举白热化进行中,中韩青年民间交流促两国友好往来
  • 63岁微波遥感领域著名专家李春升参加学术会议期间病逝
  • 4天内,云南昆明又一县市区原主官被查
  • 【社论】进一步拧紧过紧日子的制度螺栓
  • 俄乌上周在土耳其直接谈判,外交部回应