#20250 closed defect (fixed)
ICU 4.2.1 fails to build
Reported by: | dbsgeo@… | Owned by: | nox@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.1 |
Keywords: | Cc: | takanori@…, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), mf2k (Frank Schima), nerdling (Jeremy Lavergne) | |
Port: | icu |
Description
Trying to build universal against 10.4 on a 10.5 machine i get:
$ sudo port install boost +icu +python25 +universal Password: ---> Fetching boost-jam ---> Attempting to fetch boost-jam-3.1.17.tgz from http://superb-west.dl.sourceforge.net/boost ---> Verifying checksum(s) for boost-jam ---> Extracting boost-jam ---> Applying patches to boost-jam ---> Configuring boost-jam ---> Building boost-jam ---> Staging boost-jam into destroot ---> Installing boost-jam @3.1.17_0+universal ---> Activating boost-jam @3.1.17_0+universal ---> Cleaning boost-jam ---> Fetching bzip2 ---> Attempting to fetch bzip2-1.0.5.tar.gz from http://distfiles.macports.org/bzip2 ---> Verifying checksum(s) for bzip2 ---> Extracting bzip2 ---> Applying patches to bzip2 ---> Configuring bzip2 ---> Building bzip2 ---> Staging bzip2 into destroot ---> Installing bzip2 @1.0.5_2+universal ---> Activating bzip2 @1.0.5_2+universal ---> Cleaning bzip2 ---> Fetching icu ---> Attempting to fetch icu4c-4_2_1-src.tgz from http://distfiles.macports.org/icu ---> Verifying checksum(s) for icu ---> Extracting icu ---> Applying patches to icu ---> Configuring icu ---> Building icu Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_icu/work/icu/source" && gnumake all " returned error 2 Command output: DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-1157_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-1158_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-1160_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-1164_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-871_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-12712_P100-1998.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-16804_X110-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-273_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-277_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-278_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-280_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-284_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-285_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-290_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-297_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-420_X120-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-424_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-4517_P100-2005.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-4899_P100-1998.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-4971_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-500_P100-1995.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-5123_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-803_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-8482_P100-1999.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-9067_X100-2005.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/makeconv -c -d ./out/build/icudt42b ./mappings/ibm-16684_P110-2003.ucm DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/genbrk -c -i ./out/build/icudt42b -r brkitr/word_POSIX.txt -o out/build/icudt42b/brkitr/word_POSIX.brk ../bin/genbrk: can not initialize ICU. status = U_FILE_ACCESS_ERROR gnumake[1]: *** [out/build/icudt42b/brkitr/word_POSIX.brk] Error 1 gnumake: *** [all-recursive] Error 2 Error: The following dependencies failed to build: icu python25 db46 gdbm readline sqlite3 tk Xft2 tcl xorg-libXScrnSaver xorg-libXext xorg-scrnsaverproto Error: Status 1 encountered during processing.
Change History (13)
comment:1 Changed 15 years ago by mf2k (Frank Schima)
Cc: | takanori@… added; takanori nox removed |
---|---|
Keywords: | icu removed |
Owner: | changed from macports-tickets@… to nox@… |
comment:2 Changed 15 years ago by takanori@…
comment:3 Changed 15 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Cc: | mcalhoun@… added |
---|
Cc Me!
comment:4 Changed 15 years ago by jmroot (Joshua Root)
FYI, the same failure occurs without +universal on trunk. Clearing configure.archflags allows it to build, but of course you're then not respecting the build_arch setting.
comment:5 Changed 15 years ago by andre.david@…
Same problem here. Found
http://icu-project.org/trac/ticket/3821
which seems to be related and fixed.
comment:6 Changed 15 years ago by blb@…
It looks like icu's configure script thinks that having even one -arch flag means universal mode is enabled. Without any -arch, it says:
checking whether byte ordering is bigendian... no
but with MacPorts trunk adding just -arch i386
:
checking whether byte ordering is bigendian... universal
configure has:
# Check for potential -arch flags. It is not universal unless # there are some -arch flags. Note that *ppc* also matches # ppc64. This check is also rather less than ideal. case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; esac
so it seems any -arch will set off its universal belief, and hits the error. FWIW, the error appears to be related to paths that include some sort of type size:
DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/genbrk -c -i ./out/build/icudt42b -r brkitr/word_POSIX.txt -o out/build/icudt42b/brkitr/word_POSIX.brk udata_openChoice(): Opening: NULL : cnvalias . icu P=icudt42l T= tocEntryName = icudt42l/cnvalias.icu tocEntryPath = icudt42l/cnvalias.icu IND: inBasename = (n/a), pkg=icudt42l Trying individual files SUFFIX1=/cnvalias.icu PATH=./out/build/icudt42b STUB=/icudt42l [9] SUFFIX=/cnvalias.icu [0xbffff0d0] 0xbfffef18: init icudt42l -> [path=./out/build/icudt42b], [base=icudt42l], [suff=/cnvalias.icu], [itempath=], [nextpath=./out/build/icudt42b], [checklast4=false] rest of path (IDD) = ./out/build/icudt42b ^ --> ./out/build/icudt42b/icudt42l/cnvalias.icu ...
Note the icudt42b/icudt42l
where it appears to be trying both 42b and 42l; without -arch, it only uses one (icudt42l).
comment:7 Changed 15 years ago by andre.david@…
I just tried it this morning after updating and got the same:
DYLD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$DYLD_LIBRARY_PATH ../bin/genbrk -c -i ./out/build/icudt42b -r brkitr/word_POSIX.txt -o out/build/icudt42b/brkitr/word_POSIX.brk ../bin/genbrk: can not initialize ICU. status = U_FILE_ACCESS_ERROR gnumake[1]: *** [out/build/icudt42b/brkitr/word_POSIX.brk] Error 1 gnumake: *** [all-recursive] Error 2 Warning: the following items did not execute (for icu): org.macports.destroot org.macports.build Error: Unable to upgrade port: 1
comment:9 Changed 15 years ago by nerdling (Jeremy Lavergne)
Cc: | snc@… added |
---|
This similarly occurs in 10.6.
comment:11 Changed 15 years ago by nerdling (Jeremy Lavergne)
This patch appears to fix it in Snow Leopard. I'm able to build ports that were erring on ICU before.
comment:12 Changed 15 years ago by nox@…
Resolution: | → fixed |
---|---|
Status: | new → closed |
So this is fixed now, right?
I confirmed the problem. As you say, ICU 4.2 fails to build universal binaries. I was not aware of it since I am not using +universal any longer. Sorry!!
Anyway, I have no choice but to disable +universal until the problem will be fixed..