Duplicate symbol json_object_iter_next in json-c, jansson
Control: reassign -1 jansson,json-c
Control: affects -1 firewalld
Control: severity -1 serious
Dear json-c and jansson Maintainers,
your libraries BOTH export a symbol named json_object_iter_next,
causing crashes for binaries that end up loading both (possibly
transitively).
This is currently the case in Debian for firewalld, which loads
libmount1 and libnftables1, which use json-c and jansson
respectively. firewalld then crashes because of this.
Some detail:
* Michael Biebl <biebl@debian.org> [200628 21:27]:
> Am 28.06.20 um 21:16 schrieb Chris Hofstaedtler:
>
> > $ ldd /usr/lib/x86_64-linux-gnu/libmount.so.1
> > libjson-c.so.4 => /lib/x86_64-linux-gnu/libjson-c.so.4 (0x00007f289aec6000)
> > ...
> >
> > $ ldd /usr/lib/x86_64-linux-gnu/libnftables.so.1
> > libjansson.so.4 => /lib/x86_64-linux-gnu/libjansson.so.4 (0x00007f71ffd16000)
> > ...
> >
> > $ nm -Dg /lib/x86_64-linux-gnu/libjson-c.so.4 | grep json_object_iter
> > 0000000000006fe0 T json_object_iter_begin
> > 0000000000007000 T json_object_iter_end
> > 0000000000007040 T json_object_iter_equal
> > 0000000000007050 T json_object_iter_init_default
> > 0000000000007010 T json_object_iter_next
> > 0000000000007020 T json_object_iter_peek_name
> > 0000000000007030 T json_object_iter_peek_value
> > $ nm -Dg /lib/x86_64-linux-gnu/libjansson.so.4 | grep json_object_iter
> > 0000000000009030 T json_object_iter
> > 0000000000009050 T json_object_iter_at
> > 00000000000090b0 T json_object_iter_key
> > 0000000000009080 T json_object_iter_next
> > 0000000000009b00 T json_object_iter_set_new
> > 00000000000090d0 T json_object_iter_value
[..]
> Agreed, this should be tracked separately.
Please find a way to fix this situation.
Thanks,
Chris
Reply to: