Skip to content
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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Fix build with ICU 76 #936

wants to merge 1 commit into from

Conversation

cho-m
Copy link

@cho-m cho-m commented Oct 31, 2024

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


There didn't seem to be any usage of icu_dep methods and only passing it to dependencies: [..., icu_dep, ...]. If this changes, then may need to use multiple variables.

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
@kelson42 kelson42 added this to the 9.3.0 milestone Oct 31, 2024
@cho-m
Copy link
Author

cho-m commented Oct 31, 2024

Linux CI has an unrelated failure trying to find software-properties-common which isn't available in Debian Trixie.


Windows CI has a related failure as it looks like icu-i18n.pc is manually created.

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

@kelson42
Copy link
Contributor

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants