Building 12.5 without liburing >= 2.3 under Ubunty Jammy?

28 views
Skip to first unread message

Benoit Panizzon

unread,
May 27, 2024, 8:02:52 AMMay 27
to Sipwise rtpengine
Hi

I'm still fighting rtp issues with spiraling calls. I start suspecting they are caused by some nft rules going wrong.

If I disable ufw and reboot the machine, the first call has audio, the second one show massive packetloss, running on 12.4.0.0

So I pulled the actual 12.5 release but I'm facing the issue, that debian Jammy uses liburing 2.1 instead of the required 2.3 version.

Is there a way to get rtpengine 12.5 compiled without liburing?

-Benoit-

Benoit Panizzon

unread,
May 27, 2024, 9:18:49 AMMay 27
to Sipwise rtpengine
I created a snapshot of the machine, updated to Ubuntu  Noble 24.04 (6.8.0 kernel), which comes with the correct liburing version.

Compiled rtpengine 12.5

Attempted spiraling / looping calls. So far 3 of 3 calls with no RTP issues getting through!

Richard Fuchs

unread,
May 28, 2024, 8:17:40 AMMay 28
to rtpe...@googlegroups.com
You're always supposed to use the appropriate pkg/deb/backports script, which for Jammy removes the uring dependency.

Cheers
--
You received this message because you are subscribed to the Google Groups "Sipwise 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/f8a8823d-22af-49bc-90e8-147c385c0932n%40googlegroups.com.

Benoit Panizzon

unread,
May 30, 2024, 5:24:24 AMMay 30
to Sipwise rtpengine
Hi Richard

Sorry for my missing knowledge, but also google did not spit out anything helpful.

But how exactly do I have to use the backport script to get rid of the liburing dependency for jammy?

I attempted to run ./backports/jammy which spits out a whole bunch of error messages.
I attempted to run ./generator.sh which created a 'debian' directory under pkg/deb which I supposed would allow me to run dpkg-buildpackage directly from pkg/deb
But this also fails as it required liburing >= 2.3

-Benoit-

Richard Fuchs

unread,
May 30, 2024, 8:12:04 AMMay 30
to rtpe...@googlegroups.com
On 30/05/2024 05.24, Benoit Panizzon wrote:
> Hi Richard
>
> Sorry for my missing knowledge, but also google did not spit out
> anything helpful.
>
> But how exactly do I have to use the backport script to get rid of the
> liburing dependency for jammy?
>
> I attempted to run ./backports/jammy which spits out a whole bunch of
> error messages.
> I attempted to run ./generator.sh which created a 'debian' directory
> under pkg/deb which I supposed would allow me to run dpkg-buildpackage
> directly from pkg/deb
> But this also fails as it required liburing >= 2.3

Run generator script first.

Run backports script(s).

Replace original debian/ with generated backport-specific directory.

Cheers

Benoit Panizzon

unread,
May 30, 2024, 8:35:46 AMMay 30
to Sipwise rtpengine
Hi Richard.

Thank you for your help. Step by step what I am doing and where I am failing.

~/git# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

~/git# rm -r rtpengine
~/git# cd rtpengine/pkg/deb/
~/git/rtpengine/pkg/deb# ./generator.sh
(does stuff, nothing looks like an error)
~/git/rtpengine/pkg/deb# backports/jammy
(no output)
~/git/rtpengine/pkg/deb# mv ~/git/rtpengine/debian ~/git/rtpengine/debian.back
~/git/rtpengine/pkg/deb# mv jammy ~/git/rtpengine/debian
~/git/rtpengine/pkg/deb# cd ../.
~/git/rtpengine# dpkg-buildpackage
(starts compiling until....)
cc -g -O2 -ffile-prefix-map=/root/git/rtpengine=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DRTPENGINE_VERSION="\"12.5.0.0+0~mr12.5.0.0 git-master-2da116cf\""  -DHAVE_LIBSYSTEMD  -DHAVE_LIBURING -g -O2 -ffile-prefix-map=/root/git/rtpengine=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -O3 -flto=auto -ffat-lto-objects -pthread -fno-strict-aliasing -std=c11 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include  -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include     -DPCRE2_CODE_UNIT_WIDTH=8  -I/usr/include    -I/usr/include/json-glib-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid      -DWITH_IPTABLES_OPTION -I. -I../kernel-module/ -I../lib/ -I../include/ -D_GNU_SOURCE -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu   -I/usr/include/opus  -DWITH_TRANSCODING -I/usr/include/mysql  -DHAVE_BCG729  -DHAVE_MQTT  -DRTPENGINE_VERSION="\"12.5.0.0+0~mr12.5.0.0 git-master-2da116cf\""  -DHAVE_LIBSYSTEMD  -DHAVE_LIBURING -g -O2 -ffile-prefix-map=/root/git/rtpengine/daemon=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -O3 -flto=auto -ffat-lto-objects -pthread -fno-strict-aliasing -std=c11 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include  -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include     -DPCRE2_CODE_UNIT_WIDTH=8  -I/usr/include    -I/usr/include/json-glib-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid      -DWITH_IPTABLES_OPTION -I. -I../kernel-module/ -I../lib/ -I../include/ -D_GNU_SOURCE -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu  -I/usr/include/x86_64-linux-gnu   -I/usr/include/opus  -DWITH_TRANSCODING -I/usr/include/mysql  -DHAVE_BCG729  -DHAVE_MQTT  -DRTPENGINE_VERSION="\"12.5.0.0+0~mr12.5.0.0 git-master-2da116cf\""  -DHAVE_LIBSYSTEMD  -DHAVE_LIBURING -g -O2 -ffile-prefix-map=/root/git/rtpengine/daemon=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -O3 -flto=auto -ffat-lto-objects -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2  -c -o uring.o uring.c

uring.c: In function ‘__uring_thread_loop’:
uring.c:85:2: warning: implicit declaration of function ‘io_uring_submit_and_get_events’; did you mean ‘io_uring_submit_and_wait’? [-Wimplicit-function-declaration]
   85 |
      |  ^                            
      |  io_uring_submit_and_wait

[...]
ake[3]: *** [<builtin>: uring.o] Error 1
make[3]: *** Waiting for unfinished jobs....
rm control_ng.strhash.c sdp.strhash.c janus.strhash.c call_interfaces.strhash.c
make[3]: Leaving directory '/root/git/rtpengine/daemon'
make[2]: *** [../lib/common.Makefile:4: all] Error 2
make[2]: Leaving directory '/root/git/rtpengine/daemon'
make[1]: *** [Makefile:22: all] Error 2
make[1]: Leaving directory '/root/git/rtpengine'
dh_auto_build: error: make -j2 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:34: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

To me it looks like still some uring dependencies are left in.

liburing2 and liburing-dev from ubuntu 24 depend on the same libc version which is present in ubuntu 22. So I might just install liburing 2.3 on 22?

-Benoît-

Richard Fuchs

unread,
May 30, 2024, 8:50:39 AMMay 30
to rtpe...@googlegroups.com
Ah I guess it's still picking up the installed liburing even though the dependency isn't there any more. I'll have that fixed.

In the meantime you can either uninstall the liburing-dev package, or do `export DEB_BUILD_PROFILES=pkg.ngcp-rtpengine.nouring` on the shell and then build the package. That should remove the uring stuff.

Cheers
--
You received this message because you are subscribed to the Google Groups "Sipwise rtpengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtpengine+...@googlegroups.com.

Benoit Panizzon

unread,
May 30, 2024, 9:45:29 AMMay 30
to Sipwise rtpengine
Thank you, purged liburing-dev compiled success!
Reply all
Reply to author
Forward
0 new messages