Dear Fedora, it looks like the libfastjson-0.99.7 update that was submitted as an update for all branches contained an unannounced ABI break: $ abipkgdiff --d1 libfastjson-debuginfo-0.99.6-1.fc26.x86_64.rpm --d2 libfastjson-debuginfo-0.99.7-1.fc26.x86_64.rpm --devel1 libfastjson-devel-0.99.6-1.fc26.x86_64.rpm --devel2 libfastjson-devel-0.99.7-1.fc26.x86_64.rpm libfastjson-0.99.6-1.fc26.x86_64.rpm libfastjson-0.99.7-1.fc26.x86_64.rpm ================ changes of 'libfastjson.so.4.1.0'=============== Functions changes summary: 3 Removed, 1 Changed (57 filtered out), 4 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 3 Removed functions: 'function void fjson_object_free_userdata(fjson_object*, void*)' {fjson_object_free_userdata} 'function void fjson_object_set_serializer(fjson_object*, void*)' {fjson_object_set_serializer} 'function int fjson_object_userdata_to_json_string(fjson_object*, int, int)' {fjson_object_userdata_to_json_string} 4 Added functions: 'function void fjson_global_do_case_sensitive_comparison(const int)' {fjson_global_do_case_sensitive_comparison} 'function size_t fjson_object_dump_buffered(fjson_object*, int, char*, size_t, void*)' {fjson_object_dump_buffered} 'function size_t fjson_object_size(fjson_object*)' {fjson_object_size} 'function size_t fjson_object_size_ext(fjson_object*, int)' {fjson_object_size_ext} 1 function with some indirect sub-type change: [C]'function int fjson_object_array_add(fjson_object*, fjson_object*)' at json_object.c:1001:1 has some indirect sub-type changes: parameter 1 of type 'fjson_object*' has sub-type changes: in pointed to type 'struct fjson_object' at json_object_private.h:51:1: type size changed from 2176 to 2048 bits 1 data member deletion: 'void* fjson_object::_userdata', at offset 2112 (in bits) at json_object_private.h:74:1 1 data member change: type of 'data fjson_object::o' changed: 1 data member changes (1 filtered): type of 'double data::c_double' changed: entity changed from 'double' to 'struct __anonymous_struct__' at json_object_private.h:60:1 type size changed from 64 to 128 bits ================ end of changes of 'libfastjson.so.4.1.0'=============== This breaks, for example, rsyslog-8.30.0-3, which was compiled against libfastjson-0.99.7, but didn't go out together with it, so when I ran dnf update, the set contained only new rsyslog, which, when run with libfastjson-0.99.6 (same SONAME!) simply dies: # rsyslogd -n rsyslogd: symbol lookup error: rsyslogd: undefined symbol: fjson_global_do_case_sensitive_comparison Dear maintainers, please use abipkgdiff when doing library updates. Upstreams do break ABI without bumping SONAME sometimes. Regards, Dominik -- Fedora https://getfedora.org | RPMFusion http://rpmfusion.org There should be a science of discontent. People need hard times and oppression to develop psychic muscles. -- from "Collected Sayings of Muad'Dib" by the Princess Irulan _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx