Error: libsoup3 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.
When building gnome-radio 64.0 from the latest released source tarball & running GNOME Radio on Arch Linux with GNOME 44, it crashes and print Error: libsoup3 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.
in the console.
Tracking down the issue, here's what I found out:
-
./configure
in the source tarball links to 'geocode-glib-1.0' soname. - The geocode-glib Arch package provides that soname and it is built against libsoup2.
- The above Arch package is the only one in the stack not using libsoup3.
- The geocode-glib-2 Arch package provides 'geocode-glib-2.0' soname and is built against libsoup3.
- Workaround:
sed -i 's|geocode-glib-1.0|geocode-glib-2.0|' configure
- I tried autoreconf & autoupdate, but failed due to obsolete statements which I'm not familiar to. See autoreconf-autoupdate-log.txt
Can you please make a new minor release linking against 'geocode-glib-2.0' ?
Can you please handle the obsolete statements in configure.ac ?
Regarding the crash, find more info below:
- libsoup in shared libraries:
$ ldd /usr/bin/gnome-radio | grep soup
libsoup-3.0.so.0 => /usr/lib/libsoup-3.0.so.0 (0x00007f3c4366c000)
libsoup-2.4.so.1 => /usr/lib/libsoup-2.4.so.1 (0x00007f3c4329a000)
Traceback obtained from gdb
Thread 1 (Thread 0x7fd53cc86ec0 (LWP 85144)):
#0 g_log_structured_array (log_level=log_level@entry=G_LOG_LEVEL_ERROR, fields=fields@entry=0x7ffd7731b2f0, n_fields=4) at ../glib/glib/gmessages.c:555
#1 0x00007fd5409d9263 in g_log_default_handler (log_domain=log_domain@entry=0x7fd53fdc6024 "libsoup", log_level=log_level@entry=6, message=message@entry=0x7fd53fdd4cd0 "libsoup3 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.", unused_data=unused_data@entry=0x0) at ../glib/glib/gmessages.c:3284
#2 0x00007fd5409da115 in g_logv (log_domain=0x7fd53fdc6024 "libsoup", log_level=G_LOG_LEVEL_ERROR, format=<optimized out>, args=args@entry=0x7ffd7731b440) at ../glib/glib/gmessages.c:1391
#3 0x00007fd5409da3e4 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/glib/gmessages.c:1460
#4 0x00007fd53fd700d5 in _sub_I_65535_0.0 () at /usr/lib/libsoup-2.4.so.1
#5 0x00007fd541a220fe in call_init (env=0x7ffd7731b5c8, argv=0x7ffd7731b5b8, argc=1, l=<optimized out>) at dl-init.c:70
#6 call_init (l=<optimized out>, argc=1, argv=0x7ffd7731b5b8, env=0x7ffd7731b5c8) at dl-init.c:26
#7 0x00007fd541a221ec in _dl_init (main_map=0x7fd541a512c0, argc=1, argv=0x7ffd7731b5b8, env=0x7ffd7731b5c8) at dl-init.c:117
#8 0x00007fd541a37da0 in _dl_start_user () at /lib64/ld-linux-x86-64.so.2
#9 0x0000000000000001 in ()
#10 0x00007ffd7731d8da in ()
#11 0x0000000000000000 in ()
Regarding geocode-glib and geocode-glib-2 Arch packages:
# list installed packages and their versions
$ pacman -Q geocode-glib geocode-glib-2
geocode-glib 3.26.4-3
geocode-glib-2 3.26.4-3
# package dependency as seen by Arch's package manager
$ pactree geocode-glib | grep soup
└─libsoup provides libsoup-2.4.so=1-64
$ pactree geocode-glib-2 | grep soup
└─libsoup3 provides libsoup-3.0.so=0-64
Edited by Rafael Fontenelle