-
-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix build with ICU 76 #936
base: main
Are you sure you want to change the base?
Conversation
Linux CI has an unrelated failure trying to find Windows CI has a related failure as it looks like Maybe a workaround like: dependency('icu-uc', required: host_machine.system() != 'windows', static:static_linkage) or icu_dep = [dependency('icu-i18n', required:xapian_dep.found(), static:static_linkage)]
if build_machine.system() != 'windows'
icu_dep += [dependency('icu-uc', required:xapian_dep.found(), static:static_linkage)]
endif |
@cho-m Thank you for your PR. CI was OK a month ago, I will have a look and try to fix them so we can test your PR properly. |
48c8c3f
to
4bd046b
Compare
@cho-m I have fixed a few things but we have a serious problem with the Windows CI. The CI for Windows does not pass for the moment on |
The official (Unix) pkgconfig files are compatible ( However, Windows build is using custom/3rd-party pkgconfig files. Ideally would have provided other pkgconfig files like Cygwin (https://cygwin.com/packages/x86_64/libicu-devel/libicu-devel-73.2-1)
Anyways, PR most likely needs a |
Due to unicode-org/icu@199bc82, ICU 76 no longer adds `icu-uc` by default. This causes linker errors for undefined symbols like `icu_76::UnicodeString::doReplace(...)`, referenced from: `zim::removeAccents(...)` in tools.cpp.o. Meson will automatically flatten the dependencies list as documented at https://mesonbuild.com/Reference-manual_functions.html#build_target
4bd046b
to
4a42b3c
Compare
@veloman-yunkan @cho-m I can not merge this PR right now because it brakes the CI on Windows. From what I understand, I see only one way to solve this (and just ignoring Windows seems a dirty fix). Open an issue in |
@kelson42 I am fine with that. |
Could do a version check - https://mesonbuild.com/Reference-manual_returned_dep.html#depversion Maybe something like: icu_dep = dependency('icu-i18n', static:static_linkage)
if icu_dep.version().version_compare('>= 76')
icu_dep = [icu_dep, dependency('icu-uc', static:static_linkage)]
endif |
Due to unicode-org/icu@199bc82, ICU 76 no longer adds
icu-uc
by default. This causes linker errors for undefined symbols likeicu_76::UnicodeString::doReplace(...)
, referenced from:zim::removeAccents(...)
in tools.cpp.o.Meson will automatically flatten the dependencies list as documented at https://mesonbuild.com/Reference-manual_functions.html#build_target
There didn't seem to be any usage of
icu_dep
methods and only passing it todependencies: [..., icu_dep, ...]
. If this changes, then may need to use multiple variables.