Open carstene1ns opened 8 years ago
Wow, aren't ICU package changes ABI compatible even between pkgrel changes? This looks pretty nonsense :weary: How is liblcf/player breaking when this happens? Is it not possible to require a version or later like pkg-config do but for distro packages configuration? :disappointed: I don't remember a mass package rebuild in distros I use because of this... strange. Some distros have a package update monitor system... in case of requiring this, it should be distro (and version) specific.
ICU appends the version number to all function calls.
This can be disabled globally via U_DISABLE_RENAMING but the system lib must be compiled with this
Could you check the exported symbols on Debian and Fedora?
Fedora:
$ strings /usr/lib64/libicui18n.so | grep ucsdet_detect
ucsdet_detect_54
ucsdet_detectAll_54
However, ICU major version shouldn't change in non-rolling distros. I guess this issue only happens in rolling. e.g. openSUSE tumbleweed and Arch and only around every 6 months, current schedule is in the ICU homepage below the table of contents (right side):
2015-10-07 56 Release (56.1)
2016-01-30 57 Milestone 1 (tag only)
2016-03-09 57 Release Candidate
2016-03-23 57 Release (57.1)
But I guess this particular issue has nothing to do with carstene1ns mentions.
Another issue is expired signatures, like #13 mentioned. Maybe a "cron job" with monthly (or whenever the signatures expire) rebuild is sufficient for now.
Currently, the builds of
Player
andliblcf(0)
stay the same until someone rebuilds them manually. Distribution packages are updated in the meantime. For most shared libraries it makes no difference as the api does not change (i.e. recent SDL updates) However, ICU will insert it's version information and this forces us to do a rebuild after each ICU update.For Arch Linux this needs to increment the
$pkgrel
in the PKGBUILD and I pay attention for updates to the ICU package, soPlayer
will not be 'broken' for long hopefully. But this needs to be taken care of for the other distributions as well.