Building from source on RHEL 9.2 - is that a thing?

559 views
Skip to first unread message

Dave Horton

unread,
Sep 28, 2023, 8:56:49 AM9/28/23
to rtpe...@googlegroups.com
Has anyone built rtpengine from source on RHEL 9.2, and if so could they share notes? I’m particularly having trouble locating rpms for all the dependencies when building transcoding and kernel module support

Dave

marek

unread,
Sep 29, 2023, 8:30:59 AM9/29/23
to rtpe...@googlegroups.com
my notes for rocky 9

dnf config-manager --enable crb

dnf groupinstall "RPM Development Tools"
dnf groupinstall "Development Tools"
dnf install iptables iptables-nft

dnf install doxygen libjpeg-turbo-devel libsndfile-devel libtiff-devel
libxml2-devel

dnf -y install xmlrpc-c-devel hiredis-devel libpcap-devel libevent-devel
json-glib-devel gperf perl-IPC-Cmd  pkgconfig ffmpeg-devel
iptables-devel mysql-devel libwebsockets-devel spandsp-devel
--enablerepo=powertools


spandsp must be from freeswitch fork https://github.com/freeswitch/spandsp


kernel mode is tricky because of iptables-> nftables move in all current
distros.

nftables support waiting for patch

https://github.com/sipwise/rtpengine/issues/984


Marek


Dne 2023-09-28 v 14:56 Dave Horton napsal(a):

David Horton

unread,
Sep 29, 2023, 9:14:00 PM9/29/23
to rtpengine
Many thanks for this.  I've just about got everything working, except the kernel module as you point out.

Dave Horton

unread,
Sep 30, 2023, 8:56:19 AM9/30/23
to rtpe...@googlegroups.com
Actually, I spoke too soon.  I can’t build on RHEL 9 because libiptc is missing:

 $ make with_transcoding=yes
..
Package 'libiptc', required by 'virtual:world', not found
cc -g -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wstrict-prototypes -Werror=return-type -Wshadow -pthread -fno-strict-aliasing -std=c11 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread     -DPCRE2_CODE_UNIT_WIDTH=8  -I/usr/include/libxml2  -I/usr/include/libxml2   -I/usr/include/json-glib-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -pthread    -DWITH_IPTABLES_OPTION -I. -I../kernel-module/ -I../lib/ -I../include/ -D_GNU_SOURCE -I/usr/include/ffmpeg  -I/usr/include/ffmpeg  -I/usr/include/ffmpeg  -I/usr/include/ffmpeg  -I/usr/include/ffmpeg   -I/usr/include/opus  -DWITH_TRANSCODING -I/usr/include/mysql -I/usr/include/mysql/mysql -DHAVE_BCG729 -I/root/bcg729/include/ -DRTPENGINE_VERSION="\"git-HEAD-c6b1940e\""   -c -o iptables.o iptables.c
iptables.c:13:10: fatal error: libiptc/libiptc.h: No such file or directory
   13 | #include <libiptc/libiptc.h>
      |          ^~~~~~~~~~~~~~~~~~~


I believe this is because it has been disabled in RHEL 9, per: https://gitlab.com/redhat/centos-stream/rpms/systemd/-/merge_requests/21

Was this not a problem on Rocky 9 Marek?

Dave
--
You received this message because you are subscribed to a topic in the Google Groups "rtpengine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rtpengine/7iTQ68iZ9NI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rtpengine+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rtpengine/c3e7db97-9226-49e9-9977-44b6e09cebban%40googlegroups.com.

Richard Fuchs

unread,
Sep 30, 2023, 6:05:48 PM9/30/23
to rtpe...@googlegroups.com
You should be able to set `with_iptables_option=no` in your build
environment to get around that.

Cheers

Karsten Horsmann

unread,
Oct 2, 2023, 1:46:47 PM10/2/23
to rtpengine
Hi,


Just for my intressed why would someone want to disable iptables and use only userspace? I know in RHEL 9.2 it's not possible (I think so). But what is the benefit? If Rocky 8 for example has support for iptables and EOL is nearly the same as RHEL 9.2?

Or is that an compliance thing? 

--
You received this message because you are subscribed to the Google Groups "rtpengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtpengine+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rtpengine/47cf3e8f-0681-4754-9d70-e56d90149101%40sipwise.com.

Richard Fuchs

unread,
Oct 2, 2023, 2:08:14 PM10/2/23
to rtpe...@googlegroups.com
On 02/10/2023 13.46, [EXT] Karsten Horsmann wrote:
> Just for my intressed why would someone want to disable iptables and
> use only userspace? I know in RHEL 9.2 it's not possible (I think so).
> But what is the benefit? If Rocky 8 for example has support for
> iptables and EOL is nearly the same as RHEL 9.2?

This is about a very different feature and is not about the kernel mode
forwarding 😅

The `with_iptables_option` switch controls inclusion of a feature which
dynamically manages firewall rules (opening and closing ports) via
iptables. This isn't widely used and is unrelated to the kernel module.

Usage of the kernel module was (until very recently) also controlled via
iptables, but doesn't depend on the `with_iptables_option`

Since
https://github.com/sipwise/rtpengine/commit/794f8e3c017847697ff7f20217d6de2a6bc98952
we have the capability to control usage of the kernel module directly
without having to rely on iptables (although there's still a bug which
can break it - patch is pending), but the feature to manage firewall
rules hasn't been ported yet and would still require the iptables library.

All that of course doesn't really answer your question, as there are
legitimate reasons to run in userspace only (in a VM or container for
example). But disabling the `with_iptables_option` switch isn't one.

Cheers

Karsten Horsmann

unread,
Oct 2, 2023, 2:19:33 PM10/2/23
to rtpengine
Hi Richard,

thanks for clarification.

Was new to me what wonderful feature are in rtpengine and the stuff around.

I personal prefer the kernelized mode also in vm environment. Runs well.
Thanks for the great job. 

--
You received this message because you are subscribed to the Google Groups "rtpengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtpengine+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages