Bug ID 1202875
Summary MicroOS Desktop: Can't start packagekitd due libdnf/libtukit symbol error
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component MicroOS
Assignee kubic-bugs@opensuse.org
Reporter michal.vyskocil@gmail.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

packagekitd won't start on my MicroOS GNOME Desktop and produces error messages
in Gnome Software.

NAME="openSUSE Tumbleweed"
# VERSION="20220827"

packagekitd[28073]:   what():  Can't load plugin "txnupd.so": Can't load shared
library "/usr/lib64/libdnf/plugins/txnupd.so":
/usr/lib64/libdnf/plugins/txnupd.so: undefined symbol:
_ZN19TransactionalUpdate11Transaction4initENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

It looks like this commit
https://github.com/openSUSE/transactional-update/commit/2a2117d15a87dfbedea23ace97462fc1da5e5f39#diff-8c90b82df47398c069fd6f32486c92426acdc1573a84942b6dabac6ce7a0f37eR205
broke the ABI. Not sure why BuildService haven't solved the problem by
rebuilding the package.

What libtukit.so.4 provides (I run my setup inside distrobox, hence /run/host
paths poiting to the "host" - the MicroOS itself)

objdump -C -T /run/host/lib64/libtukit.so.4.0.0  | grep 'Transaction::init'
0000000000020010 g    DF .text    0000000000000c7f  Base       
TransactionalUpdate::Transaction::init(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::optional<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > >)

What txnupd requires

objdump -C -T /run/host/lib64/libdnf/plugins/txnupd.so | grep
'Transaction::init'
0000000000000000      DF *UND*    0000000000000000  Base       
TransactionalUpdate::Transaction::init(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >)

$ rpm -qf /lib64/libdnf/plugins/txnupd.so /lib64/libtukit.so.4.0.0 
libdnf-plugin-txnupd-0.1.3-1.10.x86_64
libtukit4-4.0.1-1.1.x86_64


You are receiving this mail because: