You are not logged in.

#1 2023-04-30 11:10:56

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

kodi-git now seems to have a hard depends on pipewire

I maintain the kodi-git.  It is based heavily on the official kodi package.  I noticed that the way it is currently built seems to force a dependency on pipewire whereas the current official PKGBUILD runs fine with just libpipewire.  At issue is the absence of several shared objects which libpipewire does not supply but that pipewire does supply, namely:

/usr/lib/spa-0.2/support/libspa-support.so
/usr/lib/spa-0.2/support/libspa-journal.so
/usr/lib/spa-0.2/support/libspa-support.so

Any insights as to why?

When I start kodi-gbm via a systemd service I get it core dumping shown below (note I passed PIPEWIRE_DEBUG=4 to see more verbose output).  When I add the pipewire package, it runs just fine.


Is this:
a. A new kodi dependency on pipewire (I find none in the linux docs for kodi)?
b. A bug in kodi's code?
c. A problem with how am I building (perhaps there is an alternative way to build/dependencies to circumvent this)?
d. A problem with what we are packaging in pipewire/libpipewire?  (Ie should libpipewire be supplying those *.so files)?
e. Something else?

Journalctl output without pipewire installed:

kodi-standalone[4025]: [D] pw.context [pipewire.c:229 load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.log'
kodi-standalone[4025]: [D] pw.context [pipewire.c:113 open_plugin()] can't load /usr/lib/spa-0.2/support/libspa-support.so: /usr/lib/spa-0.2/support/libspa-support.so: cannot open shared object file: No such file or directory
kodi-standalone[4025]: [D] pw.context [pipewire.c:229 load_spa_handle()] load lib:'support/libspa-journal' factory-name:'support.log'
kodi-standalone[4025]: [D] pw.context [pipewire.c:113 open_plugin()] can't load /usr/lib/spa-0.2/support/libspa-journal.so: /usr/lib/spa-0.2/support/libspa-journal.so: cannot open shared object file: No such file or directory
kodi-standalone[4025]: [D] pw.context [pipewire.c:229 load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.cpu'
kodi-standalone[4025]: [D] pw.context [pipewire.c:113 open_plugin()] can't load /usr/lib/spa-0.2/support/libspa-support.so: /usr/lib/spa-0.2/support/libspa-support.so: cannot open shared object file: No such file or directory
kodi-standalone[4025]: [I] pw.context [pipewire.c:647 pw_init()] version 0.3.70
kodi-standalone[4025]: [D] pw.thread-loop [thread-loop.c:145 loop_new()] 0x55874c5fc690: new name:pipewire
kodi-standalone[4025]: [D] pw.context [pipewire.c:229 load_spa_handle()] load lib:'support/libspa-support' factory-name:'support.system'
kodi-standalone[4025]: [D] pw.context [pipewire.c:113 open_plugin()] can't load /usr/lib/spa-0.2/support/libspa-support.so: /usr/lib/spa-0.2/support/libspa-support.so: cannot open shared object file: No such file or directory
kodi-standalone[4025]: [E] pw.loop [loop.c:67 pw_loop_new()] 0x55874c5e7980: can't make support.system handle: No such file or directory
kodi-standalone[4025]: terminate called after throwing an instance of 'std::runtime_error'
kodi-standalone[4025]:   what():  CPipewireThreadLoop: failed to create main loop
systemd[1]: Started Process Core Dump (PID 4029/UID 0).
systemd-coredump[4030]: [?] Process 4025 (kodi.bin) of user 981 dumped core.
                                             
                                             Stack trace of thread 4025:
                                             #0  0x00007faafb2618ec n/a (libc.so.6 + 0x878ec)
                                             #1  0x00007faafb212ea8 raise (libc.so.6 + 0x38ea8)
                                             #2  0x00007faafb1fc53d abort (libc.so.6 + 0x2253d)
                                             #3  0x00007faafac9a833 _ZN9__gnu_cxx27__verbose_terminate_handlerEv (libstdc++.so.6 + 0x9a833)
                                             #4  0x00007faafaca6d0c _ZN10__cxxabiv111__terminateEPFvvE (libstdc++.so.6 + 0xa6d0c)
                                             #5  0x00007faafaca6d79 _ZSt9terminatev (libstdc++.so.6 + 0xa6d79)
                                             #6  0x00007faafaca6fdd __cxa_throw (libstdc++.so.6 + 0xa6fdd)
                                             #7  0x0000558748bfdd6b n/a (kodi.bin + 0x98fd6b)
                                             #8  0x000055874a1994c1 _ZN4KODI8PIPEWIRE9CPipewire5StartEv (kodi.bin + 0x1f2b4c1)
                                             #9  0x000055874a199b28 _ZN4KODI8PIPEWIRE9CPipewire6CreateEv (kodi.bin + 0x1f2bb28)
                                             #10 0x000055874a192dab _ZN2AE4SINK15CAESinkPipewire8RegisterEv (kodi.bin + 0x1f24dab)
                                             #11 0x0000558748fcdfb6 _ZN14CPlatformLinux12InitStageOneEv (kodi.bin + 0xd5ffb6)
                                             #12 0x000055874998ab82 _ZN15CServiceManager12InitStageOneEv (kodi.bin + 0x171cb82)
                                             #13 0x0000558749728cfd _ZN12CApplication6CreateEv (kodi.bin + 0x14bacfd)
                                             #14 0x00005587494dcdf8 XBMC_Run (kodi.bin + 0x126edf8)
                                             #15 0x0000558748ca41d7 main (kodi.bin + 0xa361d7)
                                             #16 0x00007faafb1fd790 n/a (libc.so.6 + 0x23790)
                                             #17 0x00007faafb1fd84a __libc_start_main (libc.so.6 + 0x2384a)
                                             #18 0x0000558748d16f35 _start (kodi.bin + 0xaa8f35)
                                             
                                             Stack trace of thread 4028:
                                             #0  0x00007faafb25c766 n/a (libc.so.6 + 0x82766)
                                             #1  0x00007faafb25ef90 pthread_cond_wait (libc.so.6 + 0x84f90)
                                             #2  0x00007faafaccfe51 __gthread_cond_wait (libstdc++.so.6 + 0xcfe51)
                                             #3  0x0000558749fa1251 _ZN12ANNOUNCEMENT20CAnnouncementManager7ProcessEv (kodi.bin + 0x1d33251)
                                             #4  0x000055874948b6e5 _ZN7CThread6ActionEv (kodi.bin + 0x121d6e5)
                                             #5  0x000055874948c4b0 n/a (kodi.bin + 0x121e4b0)
                                             #6  0x00007faafacd72c3 execute_native_thread_routine (libstdc++.so.6 + 0xd72c3)
                                             #7  0x00007faafb25fbb5 n/a (libc.so.6 + 0x85bb5)
                                             #8  0x00007faafb2e1d90 n/a (libc.so.6 + 0x107d90)
                                             ELF object binary architecture: AMD x86-64
systemd[1]: systemd-coredump@3-4029-0.service: Deactivated successfully.
kodi-standalone[4020]: /usr/bin/kodi: line 181:  4025 Aborted                 (core dumped) ${KODI_BINARY} $SAVED_ARGS
kodi-standalone[4020]: Crash report available at /var/lib/kodi/kodi_crashlog-20230430_070427.log

Last edited by graysky (2023-04-30 11:29:26)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#2 2023-04-30 11:43:48

progandy
Member
Registered: 2012-05-17
Posts: 5,190

Re: kodi-git now seems to have a hard depends on pipewire

It looks like it now tries to connect to pipewire first:
https://github.com/xbmc/xbmc/commit/014 … 1551b45e82

Kodi apparently expects the creation of the thread loop to always succeed, that probably requires the libspa libraries.
Other applications maybe simple disable pipewire when creating the loop does not work.
https://github.com/xbmc/xbmc/blob/54e94 … C20-L45C20
https://github.com/xbmc/xbmc/blob/54e94 … op.cpp#L24

On other distributions the libpipewire package may include the libspa library, so it doesn't fail there.

Last edited by progandy (2023-04-30 12:36:53)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#3 2023-04-30 15:26:56

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,597
Website

Re: kodi-git now seems to have a hard depends on pipewire

Thanks for the thoughtful reply.  I opened FS#78337


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

Board footer

Powered by FluxBB