On Sat, 01 Nov 2014, Matthieu Herrb wrote:
> Hi,
>
> icu4c 54.1p1 fails to build on arm (I'm using an imx6 but it shouldn't
> matter).
> gmake[2]: Leaving directory '/usr/obj/ports/icu4c-54.1/build-arm/data'
> Unpacking /usr/obj/ports/icu4c-54.1/icu/source/data/in/icudt54l.dat and
> generating out/tmp/icudata.lst (list of data files)
> LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH
> ../bin/icupkg -d ./out/build/icudt54l --list -x \*
> /usr/obj/ports/icu4c-54.1/icu/source/data/in/icudt54l.dat -o
> out/tmp/icudata.lst ^^^^^^^^
> usage: icupkg [-h|-?|--help ] [-tl|-tb|-te] [-c] [-C comment]
> [-a list] [-r list] [-x list] [-l [-o outputListFileName]]
> [-s path] [-d path] [-w] [-m mode]
> [--auto_toc_prefix] [--auto_toc_prefix_with_type] [--toc_prefix]
> infilename [outfilename]
> echo timestamp > build-local
> LD_LIBRARY_PATH=../stubdata:../tools/ctestfw:../lib:$LD_LIBRARY_PATH
> ../bin/pkgdata -O ../data/icupkg.inc -q -c -s
> /usr/obj/ports/icu4c-54.1/build-arm/data/out/build/icudt54l -d ./out -e
> icudt54 -T ./out/tmp -p icudt54l -m common -r 8.0 ./out/tmp/icudata.lst
> Error opening <./out/tmp/icudata.lst>.
Antoine, I think we need to restore that chunk where it was before...
Matthieu please try the following diff:
Index: Makefile
===================================================================
RCS file: /cvs/ports/textproc/icu4c/Makefile,v
retrieving revision 1.41
diff -u -p -u -p -r1.41 Makefile
--- Makefile 17 Oct 2014 12:36:33 -0000 1.41
+++ Makefile 1 Nov 2014 20:53:00 -0000
@@ -5,12 +5,17 @@ DIST_SUBDIR= icu4c
NOT_FOR_ARCHS= ${GCC3_ARCHS}
+# avoid segfaults from icupkg compiled and then used during the build
+.if ${MACHINE_ARCH} == "arm"
+CFLAGS+= -O1 -fno-stack-protector
+.endif
+
COMMENT= International Components for Unicode
VERSION= 54.1
DISTNAME= icu4c-${VERSION:S/./_/g}-src
PKGNAME= icu4c-${VERSION}
-REVISION= 1
+REVISION= 2
MAJ_V= ${VERSION:R}
SO_VERSION= 8.0