Created attachment 150659 [details] Fix icu detects platform endianess by checking widely used BYTE_ORDER define. On FreeBSD, it is not defined unless sys/endian.h is included. As icu doesn't include that header, endianess detection breaks and defaults to little endian, which breaks at least mips build. The attached patch fixes it. Build checked on amd64, i386, armv6 and mips - all successfully. This fix should unblock many packages on mips and possibly other big endian architectures like sparc64. Related upstream ticket: https://ssl.icu-project.org/trac/ticket/11437
Auto-assigned to maintainer office@FreeBSD.org
A commit references this bug: Author: amdmi3 Date: Fri Dec 19 18:13:02 UTC 2014 New revision: 374962 URL: https://svnweb.freebsd.org/changeset/ports/374962 Log: - Fix build in MIPS (and other big-endian archs) by addin an include needed for proper endianess detection Upstream ticket: https://ssl.icu-project.org/trac/ticket/11437 PR: 196044 Submitted by: amdmi3 Approved by: bapt Changes: head/devel/icu/files/patch-common__unicode__platform.h
A commit references this bug: Author: amdmi3 Date: Thu Dec 25 17:32:33 UTC 2014 New revision: 375591 URL: https://svnweb.freebsd.org/changeset/ports/375591 Log: - Roll back r374962 (Fix build in MIPS (and other big-endian archs) by addin an include needed for proper endianess detection) as it breaks build on i386 < 10.x until proper solution is found PR: 196044 Approved by: bapt (implicit) Changes: head/devel/icu/files/patch-common__unicode__platform.h
Patch needs to be reworked. I'm reopening this.
I've patched our build for big-endian architectures to DTRT. As far as I can tell, this works. Retest please?
Resolved: https://svnweb.freebsd.org/changeset/ports/388126