On Apr 12, 2004, at 5:33 AM, Jonathan Worthington wrote:

<snip>
See if you have a ".dat" file (or a bunch of individual files) in
blib/lib/icu/2.6.1 (relative to your parrot source root). If not, then
that's what's going on. Right now, I have that path hard-coded--of
course I need to pull that out into a config--but it probably means
that either the data files aren't getting created, or just that they
are in a different location. Glancing at your icu.pl patch, it may just
be missing moving the .dat file (or, maybe creating it too).


They are missing, and in fact weren't even being created. Turns out I'd
somehow managed to miss a line out in the makefile, namely the one that made
the data. D'oh.


I added it in, but this gave rise to new problems. The .mak file (in
icu/source/data) was missing some paths so some of the tools were not being
found. That was easily fixed, and now it gets quite a way through making
the data, until it hits a point where it starts giving errors like this:-


--
Making Locale Resource Bundle files
..\..\locales\root.txt:39: warning: %Collation could not be constructed from
CollationElements - check context!
..\..\locales\root.txt:37: parse error. Stopped parsing with
U_INVALID_FORMAT_ERROR
couldn't parse the file ..\..\locales\root.txt. Error:U_INVALID_FORMAT_ERROR
..\..\locales\ar.txt:16: warning: %Collation could not be constructed from
CollationElements - check context!
..\..\locales\ar.txt:14: parse error. Stopped parsing with
U_INVALID_FORMAT_ERROR
couldn't parse the file ..\..\locales\ar.txt. Error:U_INVALID_FORMAT_ERROR
..\..\locales\ca.txt:12: warning: %Collation could not be constructed from
CollationElements - check context!
..\..\locales\ca.txt:10: parse error. Stopped parsing with
U_INVALID_FORMAT_ERROR
--


Any ideas?

This error was showing up on Linux, and I was able to get it to happen for me by running the genrb tool with a parameter (or env. variable) missing. (Probably, the cause in the Linux case was actually something else.)


Take a look at my first post in the "Build problems in i386 linux" thread. One cause of this error is that the 'genrb' tool (built before this point) can't find a data file it needs--the file is icudt26b_ucadata.icu (possibly with a different prefix for you), and is probably in the icu/source/data/out/build directory. On Unix systems, it's located via the "ICU_DATA" env. variable (which apparently has to end with a slash), which the Makefile in icu/source/data sets up, or it can be passed via a "-i" argument to 'genrb' (either way, pointing to the directory containing that file). So take a look and see how that tool is being invoked in the build process, and whether a parameter is missing (or pointed to the wrong place).

That's my bet for what's going on. (The Linux case was only failing on one if the files, but it sounds like you're failing on all of them, which is the behavior I'd expect if this is the problem.)

But, we're getting there!

JEff

Reply via email to