Skip to content

Conversation

@datalogics-robb
Copy link
Contributor

Summary

Changes to recipe: icu/[>=75.1]

The ICU Autotools build generates a datafile that has a different filename on big-endian systems, but the icu recipe had this hard-coded to the little-endian name, which caused failures during packaging on all big-endian targets.
Resolve by checking the target arch for some of the common big endian architectures, and using "b" for big "l" for little to match ICU's filename.

Motivation

Resolve issue #28972 by making the icu datafile dependent on the system architecture

Details


  • Read the contributing guidelines
  • Checked that this PR is not a duplicate: list of PRs by recipe
  • If this is a bug fix, please link related issue or provide bug details
  • Tested locally with at least one configuration using a recent version of Conan

Add a 👍 reaction to pull requests you find important to help the team prioritize, thanks!

vtag = Version(self.version).major
return f"icudt{vtag}l.dat"
arch = self.settings.get_safe("arch")
suffix = "b" if arch in {"ppc", "ppc64", "sparc", "sparc64", "mips"} else "l"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conan settings.yml does not have: ppc or sparc64 - should these be ppc32 and sparcv9?

mips64 would be missing in addition to mips

and I suspect s390 and s390x are also missing

As a general advice: when in doubt, rather than try to find a solution for every architecture, just fix the one that is causing you problems, and we can take care of the rest

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